#include #include #include #include #include #include #include #include #include #include #include #include #include #include "defs.h" #include "struct.h" #include "data.h" #include "proto.h" #define MAXLINELEN 128 #define MAXLINES 400 #define MAXRECIP 40 /* file scope prototypes */ static char *read_line(FILE *fp); typedef int Boolean; int main(argc, argv) int argc; char *argv[]; { char buf[MSG_LEN + 20], *messages[MAXLINES]; char *to; int i=0, j=0, nmessages=0, nrecipients=0; int recipients[MAXRECIP], groups[MAXRECIP]; Boolean endinput = 0; FILE *input=NULL; if (argc > 1) { if ((input = fopen(argv[1], "r")) == NULL) { perror(argv[0]); exit(1); } } else { if (stdin) { input = stdin; } else { fprintf(stderr, "No input!\n"); exit(1); } } openmem(0); printf("Who are you sending the message to? "); fgets(buf, MSG_LEN + 20, stdin); if (strlen(buf) > 0) buf[strlen(buf)-1] = '\0'; to=buf; while ((*to!='\0') && j 3000) || (size < 0)) { fprintf(stderr, "make_str: Rediculous string size: %d for {%s}\n", size, string); return(NULL); } else { if (size == 0) size = strlen(string); new_str = (char *) calloc(size+1, 1); return(strncpy(new_str, string, size)); } } static char *read_line(FILE *fp) { int i=0; char *buf=NULL; if ((fp != NULL) && (!feof(fp))) { buf = (char *) calloc(MAXLINELEN+1, 1); buf[i++] = fgetc(fp); while(!feof(fp) && (buf[i-1] != '\n') && (i0) i--; buf[i] = '\0'; /* buf[i] == '\n', or EOF, or last char in buf */ buf = (char *) realloc(buf, i+1); } return(buf); }