]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/ipfilter/lib/loglevel.c
This commit was generated by cvs2svn to compensate for changes in r161351,
[FreeBSD/FreeBSD.git] / contrib / ipfilter / lib / loglevel.c
1 /*      $FreeBSD$       */
2
3 /*
4  * Copyright (C) 1993-2001 by Darren Reed.
5  *
6  * See the IPFILTER.LICENCE file for details on licencing.
7  *
8  * $Id: loglevel.c,v 1.5 2001/06/09 17:09:24 darrenr Exp $
9  */
10
11 #include "ipf.h"
12
13
14 int loglevel(cpp, facpri, linenum)
15 char **cpp;
16 u_int *facpri;
17 int linenum;
18 {
19         int fac, pri;
20         char *s;
21
22         fac = 0;
23         pri = 0;
24         if (!*++cpp) {
25                 fprintf(stderr, "%d: %s\n", linenum,
26                         "missing identifier after level");
27                 return -1;
28         }
29
30         s = strchr(*cpp, '.');
31         if (s) {
32                 *s++ = '\0';
33                 fac = fac_findname(*cpp);
34                 if (fac == -1) {
35                         fprintf(stderr, "%d: %s %s\n", linenum,
36                                 "Unknown facility", *cpp);
37                         return -1;
38                 }
39                 pri = pri_findname(s);
40                 if (pri == -1) {
41                         fprintf(stderr, "%d: %s %s\n", linenum,
42                                 "Unknown priority", s);
43                         return -1;
44                 }
45         } else {
46                 pri = pri_findname(*cpp);
47                 if (pri == -1) {
48                         fprintf(stderr, "%d: %s %s\n", linenum,
49                                 "Unknown priority", *cpp);
50                         return -1;
51                 }
52         }
53         *facpri = fac|pri;
54         return 0;
55 }