--- sbbs/src/sbbs3/smbutil.c 2018/04/24 16:41:23 1.1.1.1 +++ sbbs/src/sbbs3/smbutil.c 2018/04/24 16:42:46 1.1.1.2 @@ -2,13 +2,13 @@ /* Synchronet message base (SMB) utility */ -/* $Id: smbutil.c,v 1.1.1.1 2018/04/24 16:41:23 root Exp $ */ +/* $Id: smbutil.c,v 1.1.1.2 2018/04/24 16:42:46 root Exp $ */ /**************************************************************************** * @format.tab-size 4 (Plain Text/Source Code File Header) * * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * * * - * Copyright 2004 Rob Swindell - http://www.synchro.net/copyright.html * + * Copyright 2009 Rob Swindell - http://www.synchro.net/copyright.html * * * * This program is free software; you can redistribute it and/or * * modify it under the terms of the GNU General Public License * @@ -183,7 +183,7 @@ void postmsg(char type, char* to, char* int i; ushort agent=AGENT_SMBUTIL; smbmsg_t msg; - long dupechk_hashes=SMB_HASH_SOURCE_ALL; + long dupechk_hashes=SMB_HASH_SOURCE_DUPE; /* Read message text from stream (file or stdin) */ msgtxtlen=0; @@ -475,48 +475,24 @@ void listmsgs(ulong start, ulong count) ,beep,i,smb.last_error); break; } - printf("%4lu %-25.25s %-25.25s %.20s\n" + printf("%4lu %-25.25s %-25.25s %s\n" ,msg.hdr.number,msg.from,msg.to,msg.subj); smb_freemsgmem(&msg); l++; } } -char *binstr(uchar *buf, ushort length) -{ - static char str[512]; - char tmp[128]; - int i; - - str[0]=0; - for(i=0;i=0x7f) - && buf[i]!='\r' && buf[i]!='\n' && buf[i]!='\t') - break; - if(i==length) /* not binary */ - return((char*)buf); - for(i=0;i=100) { - strcat(str,"..."); - break; - } - } - return(str); -} - /****************************************************************************/ /* Generates a 24 character ASCII string that represents the time_t pointer */ /* Used as a replacement for ctime() */ /****************************************************************************/ -char *my_timestr(time_t *intime) +char *my_timestr(time_t intime) { static char str[256]; char mer[3],hour; struct tm *gm; - gm=localtime(intime); + gm=localtime(&intime); if(gm==NULL) { strcpy(str,"Invalid Time"); return(str); @@ -559,7 +535,7 @@ void dumpindex(ulong start, ulong count) printf("%4lu %04hX %04hX %04Xh %04Xh %06X %s\n" ,idx.number,idx.from,idx.to,idx.subj,idx.attr - ,idx.offset,my_timestr((time_t*)&idx.time)); + ,idx.offset,my_timestr(idx.time)); l++; } } @@ -625,8 +601,8 @@ void dump_hashes(void) printf("%-10s: %lu\n", "Number", hash.number); printf("%-10s: %s\n", "Source", smb_hashsourcetype(hash.source)); printf("%-10s: %lu\n", "Length", hash.length); - printf("%-10s: %s\n", "Time", my_timestr((time_t*)&hash.time)); - printf("%-10s: %x\n", "Flags", hash.flags); + printf("%-10s: %s\n", "Time", my_timestr(hash.time)); + printf("%-10s: %02x\n", "Flags", hash.flags); if(hash.flags&SMB_HASH_CRC16) printf("%-10s: %04x\n", "CRC-16", hash.crc16); if(hash.flags&SMB_HASH_CRC32) @@ -910,6 +886,7 @@ void packmsgs(ulong packable) fseek(smb.sda_fp,0L,SEEK_SET); for(l=m=0;l