From 4404499e18eecbe63d40fdd75d029b51a4420647 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Wed, 21 Aug 2002 11:21:03 +0000 Subject: [PATCH] Now changes directory to the ctrl_dir during startup (for proper relative path support). Description and size offsets can now be specified on the command-line when using the Auto-ADD feature. --- src/sbbs3/addfiles.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/sbbs3/addfiles.c b/src/sbbs3/addfiles.c index 3f99868898..154210d9e1 100644 --- a/src/sbbs3/addfiles.c +++ b/src/sbbs3/addfiles.c @@ -653,6 +653,7 @@ int main(int argc, char **argv) uchar *p,exist,listgiven=0,namegiven=0,ext[513] ,auto_name[MAX_PATH+1]="FILES.BBS"; int i,j,file; + uint desc_offset=0, size_offset=0; long l; file_t f; @@ -680,7 +681,11 @@ int main(int argc, char **argv) memset(&scfg,0,sizeof(scfg)); scfg.size=sizeof(scfg); SAFECOPY(scfg.ctrl_dir,p); - printf("\nReading configuration files from %s\n",scfg.ctrl_dir); + + if(chdir(scfg.ctrl_dir)!=0) + fprintf(stderr,"!ERROR changing directory to: %s", scfg.ctrl_dir); + + printf("\nLoading configuration files from %s\n",scfg.ctrl_dir); if(!load_cfg(&scfg,NULL,TRUE,error)) { fprintf(stderr,"!ERROR loading configuration files: %s\n",error); exit(1); @@ -771,6 +776,13 @@ int main(int argc, char **argv) return(1); } } + else if(isdigit(argv[j][0])) { + if(desc_offset==0) + desc_offset=atoi(argv[j]); + else + size_offset=atoi(argv[j]); + continue; + } else if(argv[j][0]=='+') { /* filelist - FILES.BBS */ listgiven=1; if(argc > j+1 @@ -888,13 +900,13 @@ int main(int argc, char **argv) continue; f.dir=i; if(mode&SEARCH_DIR) { - addlist("",f,0,0); + addlist("",f,desc_offset,size_offset); continue; } sprintf(str,"%s.lst",scfg.dir[f.dir]->code); if(fexistcase(str) && flength(str)>0L) { printf("Auto-adding %s\n",str); - addlist(str,f,0,0); + addlist(str,f,desc_offset,size_offset); if(mode&SYNC_LIST) synclist(str,i); continue; @@ -902,7 +914,7 @@ int main(int argc, char **argv) sprintf(str,"%s%s",scfg.dir[f.dir]->path,auto_name); if(fexistcase(str) && flength(str)>0L) { printf("Auto-adding %s\n",str); - addlist(str,f,0,0); + addlist(str,f,desc_offset,size_offset); if(mode&SYNC_LIST) synclist(str,i); continue; @@ -915,7 +927,7 @@ int main(int argc, char **argv) sprintf(str,"%s.lst",scfg.dir[f.dir]->code); if(!fexistcase(str) || flength(str)<=0L) strcpy(str,"FILES.BBS"); - addlist(str,f,0,0); + addlist(str,f,desc_offset,size_offset); if(mode&SYNC_LIST) synclist(str,f.dir); } -- GitLab