]> andersk Git - moira.git/blame - server/mr_util.c
Initial revision
[moira.git] / server / mr_util.c
CommitLineData
a3cf6921 1/*
2 * $Source$
3 * $Author$
4 * $Header$
5 *
6 * Copyright (C) 1987 by the Massachusetts Institute of Technology
7 *
8 * $Log$
9 * Revision 1.1 1987-06-02 20:07:32 wesommer
10 * Initial revision
11 *
12 */
13
14#ifndef lint
15static char *rcsid_sms_util_c = "$Header$";
16#endif lint
17
18#include "sms_private.h"
19#include "sms_server.h"
20#include <sys/uio.h>
21
22#include <ctype.h>
23#ifdef notdef
24frequote(f, cp)
25 FILE *f;
26 register char *cp;
27{
28 register char c;
29 putc('"', f);
30 for( ; c= *cp; *cp++){
31 if (c == '\\' || c == '"') putc('\\', f);
32 if (isprint(c)) putc(c, f);
33 else fprintf(f, "\\%03o", c);
34 }
35 putc('"', f);
36}
37#endif notdef
38
39void sms_com_err(whoami, code, message)
40 char *whoami;
41 int code;
42 char *message;
43{
44 extern char *error_message();
45 extern client *cur_client;
46
47 struct iovec strings[7];
48 char buf[32];
49 if (cur_client)
50 (void) sprintf(buf, "[#%d]", cur_client->id);
51 else buf[0]='\0';
52
53 strings[1].iov_base = buf;
54 strings[1].iov_len = strlen(buf);
55
56 strings[0].iov_base = whoami;
57 if (whoami) {
58 strings[0].iov_len = strlen(whoami);
59 strings[2].iov_base = ": ";
60 strings[2].iov_len = 2;
61 } else {
62 strings[0].iov_len = 0;
63 strings[2].iov_base = " ";
64 strings[2].iov_len = 1;
65 }
66 if (code) {
67 register char *errmsg = error_message(code);
68 strings[3].iov_base = errmsg;
69 strings[3].iov_len = strlen(errmsg);
70 strings[4].iov_base = " ";
71 strings[4].iov_len = 1;
72 } else {
73 strings[3].iov_len = 0;
74 strings[4].iov_len = 0;
75 }
76 strings[5].iov_base = message;
77 strings[5].iov_len = strlen(message);
78 strings[6].iov_base = "\n";
79 strings[6].iov_len = 1;
80 (void) writev(2, strings, 7);
81}
This page took 0.057223 seconds and 5 git commands to generate.