From 90807f572a82b8a1dadfaa54187e75bc39a40071 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Sat, 6 Oct 2018 23:59:11 +0000 Subject: [PATCH] *** empty log message *** --- src/sbbs3/fmsgdump.c | 140 ------------------------------------------- 1 file changed, 140 deletions(-) delete mode 100644 src/sbbs3/fmsgdump.c diff --git a/src/sbbs3/fmsgdump.c b/src/sbbs3/fmsgdump.c deleted file mode 100644 index 7b8333e920..0000000000 --- a/src/sbbs3/fmsgdump.c +++ /dev/null @@ -1,140 +0,0 @@ -/* $Id$ */ -// vi: tabstop=4 - -#include "gen_defs.h" -#include "fidodefs.h" -#include "xpendian.h" /* swap */ -#include "dirwrap.h" /* _PATH_DEVNULL */ -#include <stdio.h> -#include <string.h> - -FILE* nulfp; -FILE* bodyfp; - -char* freadstr(FILE* fp, char* str, size_t maxlen) -{ - int ch; - size_t len=0; - - while((ch=fgetc(fp))!=EOF && len<maxlen) { - str[len++]=ch; - if(ch==0) - break; - } - - str[maxlen-1]=0; - - return(str); -} - -int msgdump(FILE* fp, const char* fname) -{ - int ch; - long end; - fmsghdr_t hdr; - - if(fread(&hdr,sizeof(hdr),1,fp) != 1) { - fprintf(stderr,"%s !Error reading msg hdr (%" XP_PRIsize_t "u bytes)\n" - ,fname,sizeof(hdr)); - return(__COUNTER__); - } - - fseek(fp,-1L,SEEK_END); - ch = fgetc(fp); - end = ftell(fp); - if(ch != FIDO_STORED_MSG_TERMINATOR) { - fprintf(stderr,"%s !Message missing terminator (%02X instead of %02X)\n" - ,fname, (uchar)ch, FIDO_STORED_MSG_TERMINATOR); -// return(-2); - } - - if(hdr.from[sizeof(hdr.from)-1] != 0) - fprintf(stderr,"%s Unterminated 'from' field\n", fname); - if(hdr.to[sizeof(hdr.to)-1] != 0) - fprintf(stderr,"%s Unterminated 'to' field\n", fname); - if(hdr.subj[sizeof(hdr.subj)-1] != 0) - fprintf(stderr,"%s Unterminated 'subj' field\n", fname); - if(hdr.time[sizeof(hdr.time)-1] != 0) - fprintf(stderr,"%s Untermianted 'time' field\n", fname); - - - printf("Subj: %.*s\n", (int)sizeof(hdr.subj)-1, hdr.subj); - printf("Attr: %04hX\n", hdr.attr); - printf("To : %.*s (%u.%u/%u.%u)\n", (int)sizeof(hdr.to)-1, hdr.to - ,hdr.destzone, hdr.destnet, hdr.destnode, hdr.destpoint); - printf("From: %.*s (%u.%u/%u.%u)\n", (int)sizeof(hdr.from)-1, hdr.from - ,hdr.origzone, hdr.orignet, hdr.orignode, hdr.origpoint); - printf("Time: %.*s\n", (int)sizeof(hdr.time)-1, hdr.time); - - if(end <= sizeof(hdr)+1) { - fprintf(stderr, "!No body text\n"); - return(__COUNTER__); - } - - char* body = calloc((end - sizeof(hdr)) + 1, 1); - fseek(fp, sizeof(hdr), SEEK_SET); - fread(body, end - sizeof(hdr), 1, fp); - char* tp; - REPLACE_CHARS(body, '\r', '\n', tp); - REPLACE_CHARS(body, '\1', '@', tp); - fprintf(bodyfp,"\n-start of message text-\n"); - fprintf(bodyfp,body); - fprintf(bodyfp,"\n-end of message text-\n"); - - printf("\n"); - return(0); -} - -char* usage = "usage: fmsgdump [-body] <file1.msg> [file2.msg] [...]\n"; - -int main(int argc, char** argv) -{ - FILE* fp; - int i; - char revision[16]; - - sscanf("$Revision$", "%*s %s", revision); - - fprintf(stderr,"fmsgdump rev %s - Dump FidoNet Stored Messages\n\n" - ,revision - ); - - if(argc<2) { - fprintf(stderr,"%s",usage); - return -1; - } - - if((nulfp=fopen(_PATH_DEVNULL,"w+"))==NULL) { - perror(_PATH_DEVNULL); - return -1; - } - bodyfp=nulfp; - - if(sizeof(fmsghdr_t)!=FIDO_STORED_MSG_HDR_LEN) { - printf("sizeof(fmsghdr_t)=%" XP_PRIsize_t "u, expected: %d\n",sizeof(fmsghdr_t),FIDO_STORED_MSG_HDR_LEN); - return(-1); - } - - for(i=1;i<argc;i++) { - if(argv[i][0]=='-') { - switch(tolower(argv[i][1])) { - case 'b': - bodyfp=stdout;; - break; - default: - printf("%s",usage); - return(0); - } - continue; - } - fprintf(stdout,"Opening %s\n",argv[i]); - if((fp=fopen(argv[i],"rb"))==NULL) { - perror(argv[i]); - continue; - } - msgdump(fp, argv[i]); - fclose(fp); - } - - return(0); -} -- GitLab