diff --git a/src/sbbs3/addfiles.c b/src/sbbs3/addfiles.c index c56a0706f827bc8df3dcc9fa7bf884742170714a..aba0d8de4ce3a2ee96de53bb80be47c9e4ca5789 100644 --- a/src/sbbs3/addfiles.c +++ b/src/sbbs3/addfiles.c @@ -8,7 +8,7 @@ * @format.tab-size 4 (Plain Text/Source Code File Header) * * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * * * - * Copyright 2003 Rob Swindell - http://www.synchro.net/copyright.html * + * Copyright 2006 Rob Swindell - http://www.synchro.net/copyright.html * * * * This program is free software; you can redistribute it and/or * * modify it under the terms of the GNU General Public License * @@ -37,7 +37,7 @@ #include "sbbs.h" -#define ADDFILES_VER "3.01" +#define ADDFILES_VER "3.02" scfg_t scfg; @@ -631,29 +631,30 @@ void synclist(char *inpath, int dirnum) } } -char *usage="\nusage: addfiles code [.alt_path] [-opts] [\"*user\"] +list " +char *usage="\nusage: addfiles code [.alt_path] [-opts] +list " "[desc_off] [size_off]" - "\n or: addfiles code [.alt_path] [-opts] [\"*user\"] file " + "\n or: addfiles code [.alt_path] [-opts] file " "\"description\"\n" "\navailable opts:" - "\n a import ASCII only (no extended ASCII)" - "\n b synchronize database with file list (use with caution)" - "\n c do not remove extra spaces from file description" - "\n d delete list after import" - "\n e do not import extended descriptions" - "\n f include file date in descriptions" - "\n t include today's date in descriptions" - "\n i include added files in upload statistics" - "\n n do not update information for existing files" - "\n o update upload date only for existing files" - "\n u do not update upload date for existing files" - "\n z check for and import FILE_ID.DIZ and DESC.SDI" - "\n k keep original short description (not DIZ)" - "\n s search directory for files (no file list)" - "\n l specify library (short name) to Auto-ADD" + "\n a import ASCII only (no extended ASCII)" + "\n b synchronize database with file list (use with caution)" + "\n c do not remove extra spaces from file description" + "\n d delete list after import" + "\n e do not import extended descriptions" + "\n f include file date in descriptions" + "\n t include today's date in descriptions" + "\n i include added files in upload statistics" + "\n n do not update information for existing files" + "\n o update upload date only for existing files" + "\n u do not update upload date for existing files" + "\n z check for and import FILE_ID.DIZ and DESC.SDI" + "\n k keep original short description (not DIZ)" + "\n s search directory for files (no file list)" + "\n l<lib> specify library (short name) to Auto-ADD" + "\n x<name> specify uploader's user name (may require quotes)" "\n" - "\nAuto-ADD: use * in place of code for Auto-ADD of FILES.BBS" - "\n use *filename to Auto-ADD a different filename" + "\nAuto-ADD: use - in place of code for Auto-ADD of FILES.BBS" + "\n use -filename to Auto-ADD a different filename" "\n use -l \"libname\" to only Auto-ADD files to a specific library" "\n" ; @@ -713,7 +714,11 @@ int main(int argc, char **argv) if(!(scfg.sys_misc&SM_LOCAL_TZ)) putenv("TZ=UTC0"); - if(argv[1][0]=='*') { + if(argv[1][0]=='*' || argv[1][0]=='-') { + if(argv[1][1]=='?') { + printf(usage); + exit(0); + } if(argv[1][1]) SAFECOPY(auto_name,argv[1]+1); mode|=AUTO_ADD; @@ -725,7 +730,7 @@ int main(int argc, char **argv) } for(i=0;i<scfg.total_dirs;i++) - if(!stricmp(scfg.dir[i]->code,argv[1])) + if(!stricmp(scfg.dir[i]->code,argv[1])) /* use matchmatchi() instead? */ break; if(i>=scfg.total_dirs) { @@ -739,8 +744,8 @@ int main(int argc, char **argv) strcpy(f.uler,"-> ADDFILES <-"); for(j=2;j<argc;j++) { - if(argv[j][0]=='*') /* set the uploader name */ - sprintf(f.uler,"%.25s",argv[j]+1); + if(argv[j][0]=='*') /* set the uploader name (legacy) */ + SAFECOPY(f.uler,argv[j]+1); else if(argv[j][0]=='-' || argv[j][0]=='/' @@ -774,6 +779,15 @@ int main(int argc, char **argv) SAFECOPY(lib,argv[j]); i=strlen(argv[j])-1; break; + case 'X': + j++; + if(argv[j]==NULL) { + printf(usage); + return(-1); + } + SAFECOPY(f.uler,argv[j]); + i=strlen(argv[j])-1; + break; case 'Z': mode|=FILE_ID; break;