File: messageoptarg.c

package info (click to toggle)
yodl 4.05.02-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,724 kB
  • sloc: ansic: 7,803; perl: 683; cpp: 570; sh: 411; xml: 190; makefile: 163
file content (26 lines) | stat: -rw-r--r-- 545 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "message.ih"

/*
    a, c, e, d, i, n, w, are used to set corresponding flags. Emerg is
    always set
*/

static char s_flags[] = "dinweca";

void message_optarg(register char const *cp)
{
    size_t mask = MSG_EMERG;
    register char const *ret;

    while (*cp && (ret = strchr(s_flags, tolower(*cp))))
    {
        mask |= (1 << (ret - s_flags));
        cp++;
    }

    if (*cp)
        if (message_show(MSG_ERR))
            message("Flag -m `%c' not supported. Valid are `dinweca'", *cp);

    m_message.d_severity |= mask;
}