]> granicus.if.org Git - strace/blob - syslog.c
getdents: fix typos in array output
[strace] / syslog.c
1 #include "defs.h"
2
3 enum {
4         SYSLOG_ACTION_CLOSE = 0,
5         SYSLOG_ACTION_OPEN,
6         SYSLOG_ACTION_READ,
7         SYSLOG_ACTION_READ_ALL,
8         SYSLOG_ACTION_READ_CLEAR,
9         SYSLOG_ACTION_CLEAR,
10         SYSLOG_ACTION_CONSOLE_OFF,
11         SYSLOG_ACTION_CONSOLE_ON,
12         SYSLOG_ACTION_CONSOLE_LEVEL,
13         SYSLOG_ACTION_SIZE_UNREAD,
14         SYSLOG_ACTION_SIZE_BUFFER
15 };
16
17 #include "xlat/syslog_action_type.h"
18
19 SYS_FUNC(syslog)
20 {
21         int type = tcp->u_arg[0];
22
23         if (entering(tcp)) {
24                 /* type */
25                 printxval(syslog_action_type, type, "SYSLOG_ACTION_???");
26                 tprints(", ");
27         }
28
29         switch (type) {
30                 case SYSLOG_ACTION_READ:
31                 case SYSLOG_ACTION_READ_ALL:
32                 case SYSLOG_ACTION_READ_CLEAR:
33                         if (entering(tcp))
34                                 return 0;
35                         break;
36                 default:
37                         printaddr(tcp->u_arg[1]);
38                         tprintf(", %lu", tcp->u_arg[2]);
39                         return RVAL_DECODED;
40         }
41
42         /* bufp */
43         if (syserror(tcp))
44                 printaddr(tcp->u_arg[1]);
45         else
46                 printstr(tcp, tcp->u_arg[1], tcp->u_rval);
47         /* len */
48         tprintf(", %d", (int) tcp->u_arg[2]);
49
50         return 0;
51 }