diff options
Diffstat (limited to 'web/attachments/37375-check_vsz.c.patch')
-rw-r--r-- | web/attachments/37375-check_vsz.c.patch | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/web/attachments/37375-check_vsz.c.patch b/web/attachments/37375-check_vsz.c.patch new file mode 100644 index 0000000..6a0488a --- /dev/null +++ b/web/attachments/37375-check_vsz.c.patch | |||
@@ -0,0 +1,82 @@ | |||
1 | --- check_vsz.c.original Sat Dec 7 17:21:29 2002 | ||
2 | +++ check_vsz.c Sat Dec 7 17:20:44 2002 | ||
3 | @@ -63,7 +63,7 @@ | ||
4 | char proc_name[MAX_INPUT_BUFFER]; | ||
5 | char *message = ""; | ||
6 | |||
7 | - if (!process_arguments (argc, argv)) { | ||
8 | + if (process_arguments (argc, argv) == ERROR ) { | ||
9 | printf ("%s: failure parsing arguments\n", my_basename (argv[0])); | ||
10 | print_help (my_basename (argv[0])); | ||
11 | return STATE_UNKNOWN; | ||
12 | @@ -94,7 +94,7 @@ | ||
13 | asprintf (&message, "%s %s(%d)", message, proc_name, proc_size); | ||
14 | result = max_state (result, STATE_WARNING); | ||
15 | } | ||
16 | - if (proc_size > crit) { | ||
17 | + if (crit != -1 && proc_size > crit) { | ||
18 | result = STATE_CRITICAL; | ||
19 | } | ||
20 | } | ||
21 | @@ -103,7 +103,7 @@ | ||
22 | if (proc_size > warn) { | ||
23 | result = max_state (result, STATE_WARNING); | ||
24 | } | ||
25 | - if (proc_size > crit) { | ||
26 | + if (crit != -1 && proc_size > crit) { | ||
27 | result = STATE_CRITICAL; | ||
28 | } | ||
29 | } | ||
30 | @@ -121,7 +121,7 @@ | ||
31 | result = max_state (result, STATE_WARNING); | ||
32 | |||
33 | if (result == STATE_OK) | ||
34 | - printf ("ok (all VSZ<%d): %s\n", warn, message); | ||
35 | + printf ("OK (all VSZ<%d): %s\n", warn, message); | ||
36 | else if (result == STATE_UNKNOWN) | ||
37 | printf ("Unable to read output\n"); | ||
38 | else if (result == STATE_WARNING) | ||
39 | @@ -166,7 +166,6 @@ | ||
40 | |||
41 | switch (c) { | ||
42 | case '?': /* help */ | ||
43 | - printf ("%s: Unknown argument: %s\n\n", my_basename (argv[0]), optarg); | ||
44 | print_usage (my_basename (argv[0])); | ||
45 | exit (STATE_UNKNOWN); | ||
46 | case 'h': /* help */ | ||
47 | @@ -200,7 +199,7 @@ | ||
48 | } | ||
49 | |||
50 | c = optind; | ||
51 | - if (warn == -1) { | ||
52 | + if (warn == -1 && argv[c]) { | ||
53 | if (!is_intnonneg (argv[c])) { | ||
54 | printf ("%s: critical threshold must be an integer: %s\n", | ||
55 | PROGNAME, argv[c]); | ||
56 | @@ -210,7 +209,7 @@ | ||
57 | warn = atoi (argv[c++]); | ||
58 | } | ||
59 | |||
60 | - if (crit == -1) { | ||
61 | + if (crit == -1 && argv[c]) { | ||
62 | if (!is_intnonneg (argv[c])) { | ||
63 | printf ("%s: critical threshold must be an integer: %s\n", | ||
64 | PROGNAME, argv[c]); | ||
65 | @@ -222,6 +221,17 @@ | ||
66 | |||
67 | if (proc == NULL) | ||
68 | proc = argv[c]; | ||
69 | + | ||
70 | + // Validate arguments | ||
71 | + if (warn == -1) { | ||
72 | + if (crit != -1) | ||
73 | + warn = crit; | ||
74 | + else { | ||
75 | + printf ("%s: Must specify a critical or warning threshold\n", PROGNAME); | ||
76 | + print_usage (PROGNAME); | ||
77 | + exit (STATE_UNKNOWN); | ||
78 | + } | ||
79 | + } | ||
80 | |||
81 | return c; | ||
82 | } | ||