3 * Copyright (c) 1990, 2015, Oracle and/or its affiliates. All rights reserved.
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
12 * The above copyright notice and this permission notice (including the next
13 * paragraph) shall be included in all copies or substantial portions of the
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
34 ** Options and Arguments
37 char *display_name
= NULL
; /* -display */
38 int warn_flag
= 0; /* -warn */
39 char *basename_arg
= NULL
; /* optional argument */
45 fatal_error (const char *format
, ...)
50 va_start(args
, format
);
51 (void) fprintf(stderr
, "%s: error: ", program
);
52 (void) vfprintf(stderr
, format
, args
);
53 (void) fprintf(stderr
, "\n");
60 warning (const char *format
, ...)
65 va_start(args
, format
);
66 (void) fprintf(stderr
, "Warning: ");
67 (void) vfprintf(stderr
, format
, args
);
68 (void) fprintf(stderr
, "\n");
76 /* Note: optional filename arg explicitly not documented */
77 fprintf(stderr
, "usage: %s <op> [-display name] [-warn]\n", program
);
78 fprintf(stderr
, "<op> = save | init | discard | dealloc | show | NeWSinit\n");
88 process_arguments (char **argv
)
92 for (a
= argv
; *a
; a
++) {
94 if (!strcmp(*a
, "-warn")) {
96 } else if (!strcmp(*a
, "-display")) {
100 fprintf(stderr
, "error: -display needs an argument\n");
104 fprintf(stderr
, "error: unrecognized option '%s'\n", *a
);
109 fprintf(stderr
, "error: unrecognized argument '%s'\n", *a
);
120 main (int argc
, char **argv
)
124 /* Initialize error handling */
127 /* determine operation */
131 if (!strcmp("save", *argv
))
133 else if (!strcmp("init", *argv
))
135 else if (!strcmp("show", *argv
))
137 else if (!strcmp("discard", *argv
))
139 else if (!strcmp("dealloc", *argv
))
141 else if (!strcmp("NeWSinit", *argv
))
146 /* parse rest of arguments */
147 process_arguments(++argv
);
149 /* invoke operation */