6 * Copyright (C) 1987 by the Massachusetts Institute of Technology
9 * Revision 1.2 1987-06-03 16:08:07 wesommer
12 * Revision 1.1 87/06/02 20:07:32 wesommer
18 static char *rcsid_sms_util_c = "$Header$";
21 #include "sms_private.h"
22 #include "sms_server.h"
32 for( ; c= *cp; *cp++){
33 if (c == '\\' || c == '"') putc('\\', f);
34 if (isprint(c)) putc(c, f);
35 else fprintf(f, "\\%03o", c);
41 void sms_com_err(whoami, code, message)
46 extern char *error_message();
47 extern client *cur_client;
49 struct iovec strings[7];
52 (void) sprintf(buf, "[#%d]", cur_client->id);
55 strings[1].iov_base = buf;
56 strings[1].iov_len = strlen(buf);
58 strings[0].iov_base = whoami;
60 strings[0].iov_len = strlen(whoami);
61 strings[2].iov_base = ": ";
62 strings[2].iov_len = 2;
64 strings[0].iov_len = 0;
65 strings[2].iov_base = " ";
66 strings[2].iov_len = 1;
69 register char *errmsg = error_message(code);
70 strings[3].iov_base = errmsg;
71 strings[3].iov_len = strlen(errmsg);
72 strings[4].iov_base = " ";
73 strings[4].iov_len = 1;
75 strings[3].iov_len = 0;
76 strings[4].iov_len = 0;
78 strings[5].iov_base = message;
79 strings[5].iov_len = strlen(message);
80 strings[6].iov_base = "\n";
81 strings[6].iov_len = 1;
82 (void) writev(2, strings, 7);