3 * File name: ir/adt/debug.c
4 * Purpose: Debug --- run time debug level management
5 * Author: Christian von Roques
7 * Created: 1999 by getting from fiasco
9 * Copyright: (c) 1995, 1996 Markus Armbruster
10 * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
24 (d_) (int flag, unsigned level)
26 return d_ (flag, level);
33 return d_level (flag);
38 (d_set_level) (int flag, unsigned level)
40 return d_set_level (flag, level);
51 * Set debug flags according to the following syntax:
52 * number ["-" number] ["." number]
53 * 1st number is number of first flag to set.
54 * 2nd number is number of last flag to set. [defaults to 1st number]
55 * 3rd number is level to set the flags to. [defaults to 1]
58 (d_parse) (const char *s)
61 long first, last, level;
64 first = strtol(s, &end, 10);
65 last = (s != end) ? first : nflags-1;
70 last = strtol(s, &end, 10);
71 if (end == s) last = nflags-1; /* 3- ==> 3..nflags-1 */
77 level = strtol(s, &end, 10);
78 /* . with no number gives level 0 */
84 if (last>=nflags) last = nflags-1;
86 while (first<=last) d_vec[first++] = level;
96 d_vec = xmalloc (sizeof (unsigned char) * n);
97 memset(d_vec, 0, sizeof (unsigned char) * n);