diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c index 329c132dfaea0677b703aa39629103c4e6deb83d..fa712727eddd204b94a65b90dd28c6d4a19f9d51 100644 --- a/src/sbbs3/ftpsrvr.c +++ b/src/sbbs3/ftpsrvr.c @@ -1161,140 +1161,6 @@ int sockreadline(SOCKET socket, char* buf, int len, time_t* lastactive) return(rd); } -#if 0 /* now exported from in xtrn.cpp */ -/*****************************************************************************/ -/* Returns command line generated from instr with %c replacments */ -/*****************************************************************************/ -static char* cmdstr(user_t* user, char *instr, char *fpath, char *fspec, char *cmd) -{ - char str[256]; - int i,j,len; -#ifdef _WIN32 - char sfpath[MAX_PATH+1]; -#endif - - len=strlen(instr); - for(i=j=0;i<len;i++) { - if(instr[i]=='%') { - i++; - cmd[j]=0; - switch(toupper(instr[i])) { - case 'A': /* User alias */ - strcat(cmd,user->alias); - break; - case 'B': /* Baud (DTE) Rate */ - case 'C': /* Connect Description */ - case 'D': /* Connect (DCE) Rate */ - case 'E': /* Estimated Rate */ - case 'H': /* Port Handle or Hardware Flow Control */ - case 'P': /* COM Port */ - case 'R': /* Rows */ - case 'T': /* Time left in seconds */ - case '&': /* Address of msr */ - case 'Y': /* COMSPEC */ - /* UNSUPPORTED */ - break; - case 'F': /* File path */ - strcat(cmd,fpath); - break; - case 'G': /* Temp directory */ - strcat(cmd,scfg.temp_dir); - break; - case 'I': /* UART IRQ Line */ - strcat(cmd,ultoa(scfg.com_irq,str,10)); - break; - case 'J': - strcat(cmd,scfg.data_dir); - break; - case 'K': - strcat(cmd,scfg.ctrl_dir); - break; - case 'L': /* Lines per message */ - strcat(cmd,ultoa(scfg.level_linespermsg[user->level],str,10)); - break; - case 'M': /* Minutes (credits) for user */ - strcat(cmd,ultoa(user->min,str,10)); - break; - case 'N': /* Node Directory (same as SBBSNODE environment var) */ - strcat(cmd,scfg.node_dir); - break; - case 'O': /* SysOp */ - strcat(cmd,scfg.sys_op); - break; - case 'Q': /* QWK ID */ - strcat(cmd,scfg.sys_id); - break; - case 'S': /* File Spec */ - strcat(cmd,fspec); - break; - case 'U': /* UART I/O Address (in hex) */ - strcat(cmd,ultoa(scfg.com_base,str,16)); - break; - case 'V': /* Synchronet Version */ - sprintf(str,"%s%c",VERSION,REVISION); - break; - case 'W': /* Time-slice API type (mswtype) */ - break; - case 'X': - strcat(cmd,scfg.shell[user->shell]->code); - break; - case 'Z': - strcat(cmd,scfg.text_dir); - break; - case '~': /* DOS-compatible (8.3) filename */ -#ifdef _WIN32 - SAFECOPY(sfpath,fpath); - GetShortPathName(fpath,sfpath,sizeof(sfpath)); - strcat(cmd,sfpath); -#else - strcat(cmd,fpath); -#endif - break; - case '!': /* EXEC Directory */ - strcat(cmd,scfg.exec_dir); - break; - case '@': /* EXEC Directory for DOS/OS2/Win32, blank for Unix */ -#ifndef __unix__ - strcat(cmd,scfg.exec_dir); -#endif - break; - case '#': /* Node number (same as SBBSNNUM environment var) */ - sprintf(str,"%u",scfg.node_num); - strcat(cmd,str); - break; - case '*': - sprintf(str,"%03u",scfg.node_num); - strcat(cmd,str); - break; - case '$': /* Credits */ - strcat(cmd,ultoa(user->cdt+user->freecdt,str,10)); - break; - case '%': /* %% for percent sign */ - strcat(cmd,"%"); - break; - case '?': /* Platform */ -#ifdef __OS2__ - SAFECOPY(str,"OS2"); -#else - SAFECOPY(str,PLATFORM_DESC); -#endif - strlwr(str); - strcat(cmd,str); - break; - default: /* unknown specification */ - if(isdigit(instr[i])) { - sprintf(str,"%0*d",instr[i]&0xf,user->number); - strcat(cmd,str); } - break; } - j=strlen(cmd); } - else - cmd[j++]=instr[i]; } - cmd[j]=0; - - return(cmd); -} -#endif - void DLLCALL ftp_terminate(void) { lprintf(LOG_INFO,"%04d FTP Server terminate",server_socket);