diff --git a/src/sbbs3/smbutil.c b/src/sbbs3/smbutil.c index b99c81d10f5a15babdcaca44efb1c1d3e5fce6a2..208025d74e395094e24c97d7c905590b4b32341d 100644 --- a/src/sbbs3/smbutil.c +++ b/src/sbbs3/smbutil.c @@ -207,7 +207,7 @@ void postmsg(char type, char* to, char* to_number, char* to_address, /* Read message text from stream (file or stdin) */ msgtxtlen=0; while(!feof(fp)) { - i=fread(buf,1,sizeof(buf),fp); + i=fread(buf,sizeof(buf),1,fp); if(i<1) break; if((msgtxt = realloc(msgtxt,msgtxtlen+i+1))==NULL) { @@ -501,7 +501,7 @@ void listmsgs(ulong start, ulong count) count=~0; while(l<count) { fseek(smb.sid_fp,((start-1L) + l)*idxreclen,SEEK_SET); - if(!fread(&msg.idx,1,sizeof(msg.idx),smb.sid_fp)) + if(!fread(&msg.idx,sizeof(msg.idx),1,smb.sid_fp)) break; i=smb_lockmsghdr(&smb,&msg); if(i) { @@ -573,7 +573,7 @@ void dumpindex(ulong start, ulong count) count=~0; while(l<count) { fseek(smb.sid_fp,((start-1L) + l) * idxreclen,SEEK_SET); - if(!fread(&idx,1,sizeof(idx),smb.sid_fp)) + if(!fread(&idx,sizeof(idx),1,smb.sid_fp)) break; printf("%10"PRIu32" ", idx.number); switch(smb_msg_type(idx.attr)) { @@ -594,7 +594,7 @@ void dumpindex(ulong start, ulong count) if(smb_msg_type(idx.attr) == SMB_MSG_TYPE_FILE && idxreclen == sizeof(fileidxrec_t)) { fileidxrec_t fidx; fseek(smb.sid_fp,((start-1L) + l) * idxreclen,SEEK_SET); - if(!fread(&fidx,1,sizeof(fidx),smb.sid_fp)) + if(!fread(&fidx,sizeof(fidx),1,smb.sid_fp)) break; printf(" %02X %.*s", fidx.hash.flags, (int)sizeof(fidx.name), fidx.name); } @@ -619,7 +619,7 @@ void viewmsgs(ulong start, ulong count, BOOL verbose) count=~0; while(l<count) { fseek(smb.sid_fp,((start-1L) + l) * idxreclen,SEEK_SET); - if(!fread(&msg.idx,1,sizeof(msg.idx),smb.sid_fp)) + if(!fread(&msg.idx,sizeof(msg.idx),1,smb.sid_fp)) break; i=smb_lockmsghdr(&smb,&msg); if(i) { @@ -1002,11 +1002,10 @@ void packmsgs(ulong packable) fseek(smb.sda_fp,0L,SEEK_SET); for(l=m=0;l<length;l+=2) { printf("\r%2lu%% ",l ? (long)(100.0/((float)length/l)) : 0); - /* TODO: Only works on LE (size mismatch) */ - i=0; - if(!fread(&i,2,1,smb.sda_fp)) + uint16_t val = 0; + if(!fread(&val,sizeof(val),1,smb.sda_fp)) break; - if(!i) + if(val == 0) m++; } @@ -1143,7 +1142,7 @@ void packmsgs(ulong packable) for(l=0;l<smb.status.total_msgs;l++) { fseek(smb.sid_fp, l * idxreclen,SEEK_SET); printf("%lu of %"PRIu32"\r",l+1,smb.status.total_msgs); - if(!fread(&msg.idx, 1, sizeof(msg.idx), smb.sid_fp)) + if(!fread(&msg.idx, sizeof(msg.idx), 1, smb.sid_fp)) break; if(msg.idx.attr&MSG_DELETE) { printf("\nDeleted index %lu: msg number %lu\n", l,(ulong) msg.idx.number); @@ -1421,7 +1420,7 @@ void readmsgs(ulong start, ulong count) while(!done) { if(domsg) { fseek(smb.sid_fp,msg.idx_offset*idxreclen,SEEK_SET); - if(!fread(&msg.idx,1,sizeof(msg.idx),smb.sid_fp)) + if(!fread(&msg.idx,sizeof(msg.idx),1,smb.sid_fp)) break; i=smb_lockmsghdr(&smb,&msg); if(i) {