Skip to content
Snippets Groups Projects
Commit 2d4d30ac authored by rswindell's avatar rswindell
Browse files

Added detailed version/revision information.

parent 5b6b351c
No related branches found
No related tags found
No related merge requests found
......@@ -87,7 +87,7 @@ FILE* statfp;
char revision[16];
SOCKET sock;
SOCKET sock=INVALID_SOCKET;
#define DCDHIGH socket_check(sock, NULL, NULL, 0)
#define getcom(t) recv_byte(sock,t,mode)
......@@ -1092,14 +1092,14 @@ void receive_files(char** fname, int fnames, FILE* log)
static const char* usage=
"usage: sexyz <socket> [opts] <cmd> [file | path | +list]\n\n"
"where:\n\n"
"socket = TCP socket descriptor\n"
"opts = o to overwrite files when receiving\n"
" d to disable dropped carrier detection\n"
" a to sound alarm at start and stop of transfer\n"
" p to pause after abnormal exit (error)\n"
" l to disable local keyboard (Ctrl-C) checking\n"
"cmd = sx to send Xmodem rx to recv Xmodem\n"
"cmd = v to display detailed version information\n"
" sx to send Xmodem rx to recv Xmodem\n"
" sX to send Xmodem-1k rc to recv Xmodem-CRC\n"
" sy to send Ymodem ry to recv Ymodem\n"
" sY to send Ymodem-1k rg to recv Ymodem-G\n"
......@@ -1119,6 +1119,9 @@ int main(int argc, char **argv)
uint fnames=0;
FILE* fp;
FILE* log=NULL;
char compiler[32];
DESCRIBE_COMPILER(compiler);
errfp=stderr;
statfp=stdout;
......@@ -1131,25 +1134,21 @@ int main(int argc, char **argv)
,PLATFORM_DESC
);
#if 0
if(argc>1) {
fprintf(statfp,"Command line: ");
for(i=1;i<argc;i++)
fprintf(statfp,"%s ",argv[i]);
fprintf(statfp,"\n",statfp);
}
#endif
if(argc<3) {
fprintf(errfp,usage);
exit(1);
}
sock=atoi(argv[1]);
if(sock==INVALID_SOCKET || sock<1) {
fprintf(errfp,usage);
exit(1);
}
for(i=1;i<argc;i++) {
for(i=2;i<argc;i++) {
if(sock==INVALID_SOCKET && isdigit(argv[i][0])) {
sock=atoi(argv[i]);
continue;
}
if(!(mode&(SEND|RECV))) {
if(toupper(argv[i][0])=='S' || toupper(argv[i][0])=='R') { /* cmd */
......@@ -1189,6 +1188,20 @@ int main(int argc, char **argv)
}
}
else if(toupper(argv[i][0])=='V') {
fprintf(statfp,"%-8s %s\n",getfname(__FILE__),revision);
fprintf(statfp,"%-8s %s\n",getfname(xmodem_source()),xmodem_ver(str));
fprintf(statfp,"%-8s %s\n",getfname(zmodem_source()),zmodem_ver(str));
#ifdef _DEBUG
fprintf(statfp,"Debug\n");
#endif
fprintf(statfp,"Compiled %s %.5s with %s\n",__DATE__,__TIME__,compiler);
fprintf(statfp,"%s\n",os_version(str));
exit(1);
}
else if(toupper(argv[i][0])=='O')
mode|=OVERWRITE;
......@@ -1256,14 +1269,20 @@ int main(int argc, char **argv)
}
}
if(sock==INVALID_SOCKET || sock<1) {
fprintf(statfp,"!No socket descriptor specified\n\n");
fprintf(errfp,usage);
exit(1);
}
if(!(mode&(SEND|RECV))) {
fprintf(statfp,"No command specified\n");
fprintf(statfp,"!No command specified\n\n");
fprintf(statfp,usage);
exit(1);
}
if(mode&(SEND|XMODEM) && !fnames) { /* Sending with any or recv w/Xmodem */
fprintf(statfp,"Must specify filename or filelist\n");
fprintf(statfp,"!Must specify filename or filelist\n\n");
fprintf(statfp,usage);
exit(1);
}
......
......@@ -262,3 +262,15 @@ int xmodem_get_ack(xmodem_t* xm, int tries)
return(0);
}
char* xmodem_ver(char *buf)
{
sscanf("$Revision$", "%*s %s", buf);
return(buf);
}
const char* xmodem_source(void)
{
return(__FILE__);
}
\ No newline at end of file
......@@ -52,10 +52,12 @@ typedef struct {
} xmodem_t;
void xmodem_cancel(xmodem_t* xm);
int xmodem_get_ack(xmodem_t* xm, int tries);
void xmodem_put_nak(xmodem_t* xm);
int xmodem_get_block(xmodem_t* xm, uchar* block, uint block_size, BOOL hdrblock);
void xmodem_put_block(xmodem_t* xm, uchar* block, uint block_size, ulong block_num);
char* xmodem_ver(char *buf);
const char* xmodem_source(void);
void xmodem_cancel(xmodem_t* xm);
int xmodem_get_ack(xmodem_t* xm, int tries);
void xmodem_put_nak(xmodem_t* xm);
int xmodem_get_block(xmodem_t* xm, uchar* block, uint block_size, BOOL hdrblock);
void xmodem_put_block(xmodem_t* xm, uchar* block, uint block_size, ulong block_num);
#endif /* Don't add anything after this line */
\ No newline at end of file
......@@ -1835,4 +1835,16 @@ zmodem_send_files(char** fname, int total_files)
#endif
\ No newline at end of file
#endif
char* zmodem_ver(char *buf)
{
sscanf("$Revision$", "%*s %s", buf);
return(buf);
}
const char* zmodem_source(void)
{
return(__FILE__);
}
\ No newline at end of file
......@@ -244,10 +244,12 @@ typedef struct {
} zmodem_t;
int zmodem_get_zrinit(zmodem_t* zm);
void zmodem_parse_zrinit(zmodem_t* zm);
int zmodem_send_zfin(zmodem_t* zm);
int zmodem_send_file(zmodem_t* zm, char* name, FILE* fp);
char* zmodem_ver(char *buf);
const char* zmodem_source(void);
int zmodem_get_zrinit(zmodem_t* zm);
void zmodem_parse_zrinit(zmodem_t* zm);
int zmodem_send_zfin(zmodem_t* zm);
int zmodem_send_file(zmodem_t* zm, char* name, FILE* fp);
#endif
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment