diff --git a/src/sbbs3/un_qwk.cpp b/src/sbbs3/un_qwk.cpp index 1a7af83530ef005dd49036a66dbe53d47ffface7..91c63daf81b527d9a2ccaec242c20aaa6e85bda7 100644 --- a/src/sbbs3/un_qwk.cpp +++ b/src/sbbs3/un_qwk.cpp @@ -45,6 +45,7 @@ bool sbbs_t::unpack_qwk(char *packet,uint hubnum) { char str[MAX_PATH+1],fname[MAX_PATH+1]; char tmp[512]; + char inbox[MAX_PATH+1]; uchar block[QWK_BLOCK_LEN]; int k,file; uint i,j,n,lastsub=INVALID_SUB; @@ -255,14 +256,16 @@ bool sbbs_t::unpack_qwk(char *packet,uint hubnum) dir=opendir(cfg.temp_dir); while(dir!=NULL && (dirent=readdir(dir))!=NULL) { - // Create directory if necessary - sprintf(str,"%sqnet/%s.in",cfg.data_dir,cfg.qhub[hubnum]->id); - MKDIR(str); sprintf(str,"%s%s",cfg.temp_dir,dirent->d_name); if(isdir(str)) /* sub-dir */ continue; + + // Create directory if necessary + sprintf(inbox,"%sqnet/%s.in",cfg.data_dir,cfg.qhub[hubnum]->id); + MKDIR(inbox); + // Copy files - sprintf(fname,"%sqnet/%s.in/%s",cfg.data_dir,cfg.qhub[hubnum]->id,dirent->d_name); + sprintf(fname,"%s/%s",inbox,dirent->d_name); mv(str,fname,1 /* overwrite */); sprintf(str,text[ReceivedFileViaQWK],dirent->d_name,cfg.qhub[hubnum]->id); putsmsg(&cfg,1,str); diff --git a/src/sbbs3/un_rep.cpp b/src/sbbs3/un_rep.cpp index a6a2bfa9b6049523c8a81b1f1fb1b10ad4536e9d..4094bf1f30a09d672b25ef490761d79ab3a71bd9 100644 --- a/src/sbbs3/un_rep.cpp +++ b/src/sbbs3/un_rep.cpp @@ -46,6 +46,7 @@ bool sbbs_t::unpack_rep(char* repfile) char str[MAX_PATH+1],fname[MAX_PATH+1] ,*AttemptedToUploadREPpacket="Attempted to upload REP packet"; char tmp[512]; + char inbox[MAX_PATH+1]; char block[QWK_BLOCK_LEN]; int file; uint i,j,k,lastsub=INVALID_SUB; @@ -415,14 +416,16 @@ bool sbbs_t::unpack_rep(char* repfile) dir=opendir(cfg.temp_dir); while(dir!=NULL && (dirent=readdir(dir))!=NULL) { /* Extra files */ - // Create directory if necessary - sprintf(str,"%sqnet/%s.in",cfg.data_dir,useron.alias); - MKDIR(str); // Move files sprintf(str,"%s%s",cfg.temp_dir,dirent->d_name); if(isdir(str)) continue; - sprintf(fname,"%sqnet/%s.in/%s",cfg.data_dir,useron.alias,dirent->d_name); + + // Create directory if necessary + sprintf(inbox,"%sqnet/%s.in",cfg.data_dir,useron.alias); + MKDIR(inbox); + + sprintf(fname,"%s/%s",inbox,dirent->d_name); mv(str,fname,1); sprintf(str,text[ReceivedFileViaQWK],dirent->d_name,useron.alias); putsmsg(&cfg,1,str);