diff --git a/src/sbbs3/sbbsecho.c b/src/sbbs3/sbbsecho.c index 12751695c53f4c22e96a115d6d20bdb8dbb4a336..0aaba5eafbec80be31a6df8ad6a46077fae25897 100644 --- a/src/sbbs3/sbbsecho.c +++ b/src/sbbs3/sbbsecho.c @@ -1824,10 +1824,13 @@ BOOL unpack_bundle(void) } if(gi<g.gl_pathc) { SAFECOPY(fname,g.gl_pathv[gi]); + gi++; lprintf(LOG_DEBUG,"Unpacking bundle: %s",fname); if(unpack(fname)) { /* failure */ lprintf(LOG_ERR,"!Unpack failure"); - if(fdate(fname)+(48L*60L*60L)>time(NULL)) { + if(fdate(fname)+(48L*60L*60L)<time(NULL)) { + /* If bundle file older than 48 hours, give up and rename + to "*.?_?" or (if it exists) "*.?-?" */ SAFECOPY(str,fname); str[strlen(str)-2]='_'; if(fexistcase(str)) @@ -1837,15 +1840,13 @@ BOOL unpack_bundle(void) if(rename(fname,str)) lprintf(LOG_ERR,"ERROR line %d renaming %s to %s" ,__LINE__,fname,str); - } - } - else { - lprintf(LOG_DEBUG,"Deleting bundle: %s", fname); - if(delfile(fname)) /* successful, so delete bundle */ - lprintf(LOG_ERR,"ERROR line %d removing %s %s",__LINE__,fname - ,strerror(errno)); + } + continue; } - gi++; + lprintf(LOG_DEBUG,"Deleting bundle: %s", fname); + if(delfile(fname)) /* successful, so delete bundle */ + lprintf(LOG_ERR,"ERROR line %d removing %s %s",__LINE__,fname + ,strerror(errno)); return(TRUE); } }