diff options
author | John Kohl <jtkohl@mit.edu> | 1988-11-14 06:58:28 +0000 |
---|---|---|
committer | John Kohl <jtkohl@mit.edu> | 1988-11-14 06:58:28 +0000 |
commit | 0bfe13f094bec005952d2ce633d11b1dd05935a7 (patch) | |
tree | afff81e7c7c339c86a7f46df53cb524e2382ef45 /clients/zwrite | |
parent | fc8a70718d20727ceb4de1c1d4d54ed019643460 (diff) |
clean up some allocation stuff.
change default descriptions a bit.
Diffstat (limited to 'clients/zwrite')
-rw-r--r-- | clients/zwrite/zwrite.c | 35 |
1 files changed, 26 insertions, 9 deletions
diff --git a/clients/zwrite/zwrite.c b/clients/zwrite/zwrite.c index 8823c6d..405c4fa 100644 --- a/clients/zwrite/zwrite.c +++ b/clients/zwrite/zwrite.c @@ -161,11 +161,17 @@ main(argc, argv) notice.z_recipient = ""; if (filsys == 1) notice.z_default_format = "@bold(Filesystem Operation Message for $instance:)\nFrom: @bold($sender)\n$message"; - else if (auth == ZAUTH) - notice.z_default_format = "Class $class, Instance $instance:\n@center(To: @bold($recipient))\n$message"; - else - notice.z_default_format = "@bold(UNAUTHENTIC) Class $class, Instance $instance:\n$message"; - + else if (auth == ZAUTH) { + if (signature) + notice.z_default_format = "Class $class, Instance $instance:\nTo: @bold($recipient)\n@bold($1) <$sender>\n\n$2"; + else + notice.z_default_format = "Class $class, Instance $instance:\nTo: @bold($recipient)\n$message"; + } else { + if (signature) + notice.z_default_format = "@bold(UNAUTHENTIC) Class $class, Instance $instance:\n@bold($1) <$sender>\n\n$2"; + else + notice.z_default_format = "@bold(UNAUTHENTIC) Class $class, Instance $instance:\n$message"; + } if (!nocheck && !msgarg && filsys != 1) send_off(¬ice, 0); @@ -178,7 +184,9 @@ main(argc, argv) message = malloc((unsigned)(strlen(signature)+sizeof("From: ")+2)); (void) strcpy(message, "From: "); (void) strcat(message, signature); - msgsize = strlen(message)+1; + msgsize = strlen(message); + message[msgsize++] = '\n'; + message[msgsize++] = '\0'; } if (msgarg) { @@ -213,12 +221,12 @@ main(argc, argv) message = realloc(message, (unsigned)(msgsize+strlen(bfr))); else - message = malloc((unsigned)(msgsize+strlen(bfr))); + message = malloc((unsigned)strlen(bfr)); (void) strcpy(message+msgsize, bfr); msgsize += strlen(bfr); } message = realloc(message, (unsigned)(msgsize+1)); - message[msgsize] = '\0'; + message[msgsize++] = '\0'; } else { /* Use read so you can send binary messages... */ while (nchars = read(fileno(stdin), bfr, sizeof bfr)) { @@ -226,10 +234,19 @@ main(argc, argv) fprintf(stderr, "Read error from stdin! Can't continue!\n"); exit(1); } - message = realloc(message, (unsigned)(msgsize+nchars)); + if (message) + message = realloc(message, (unsigned)(msgsize+nchars)); + else + message = malloc((unsigned)nchars); bcopy(bfr, message+msgsize, nchars); msgsize += nchars; } + /* end of msg */ + if (message) + message = realloc(message, (unsigned)(msgsize+1)); + else + message = malloc((unsigned) 1); + message[msgsize++] = '\0'; /* null-terminate */ } } |