*** /dev/null Sat Nov 23 01:21:52 2024
--- - Sat Nov 23 01:21:56 2024
***************
*** 0 ****
--- 1,94 ----
+ /*
+ ** OpenPKG rc - Run-Command Handling for OpenPKG
+ ** Copyright (c) 2000-2001 Ralf S. Engelschall <rse@engelschall.com>
+ ** Copyright (c) 2001-2002 The OpenPKG Project (http://www.openpkg.org/)
+ ** Copyright (c) 2001-2002 Cable & Wireless Deutschland (http://www.cw.com/de/)
+ **
+ ** This file is part of OpenPKG, a packaging facility which can be
+ ** found at http://www.openpkg.org/
+ **
+ ** Permission to use, copy, modify, and distribute this software for
+ ** any purpose with or without fee is hereby granted, provided that
+ ** the above copyright notice and this permission notice appear in all
+ ** copies.
+ **
+ ** THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ ** WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ ** MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ ** IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+ ** CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ ** USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ ** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ ** OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ ** SUCH DAMAGE.
+ **
+ ** rc.c: run-command processor ANSI C source file
+ */
+
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <rc.h>
+
+
+ void usage(char *szProgname)
+ {
+ fprintf(stdout, "Usage: %s [-v|--verbose] [-h|--help]\n\
+ [-p|--print] [-e|--eval] [-c|--config]\
+ [-q|--query] [-r|--raw]\n<package>\
+ <command> [<command> ...]", szProgname);
+ }
+
+ int main(int argc, char *argv[])
+ {
+ int nOpt = 0; /* holds getopt(3) return value */
+ int nFile = 0; /* for checking file existence */
+
+ int bVerbose = 0; /* v */
+ int bHelp = 0; /* h */
+ int bPrint = 0; /* p */
+ int bEval = 0; /* e */
+ int bConfig = 0; /* c */
+ int bQuery = 0; /* q */
+ int bRaw = 0; /* r */
+
+ while ((nOpt = getopt(argc, argv, "vhpecqr:")) != -1)
+ switch (nOpt) {
+ case 'v':
+ bVerbose = TRUE;
+ break;
+ case 'h':
+ bHelp = TRUE;
+ break;
+ case 'p':
+ bPrint = TRUE;
+ break;
+ case 'e':
+ bEval = TRUE;
+ break;
+ case 'c':
+ bConfig = TRUE;
+ break;
+ case 'q':
+ bQuery = TRUE;
+ break;
+ case 'r':
+ bRaw = TRUE;
+ break;
+ case '?':
+ default:
+ usage(*argv);
+ }
+
+ argc -= optind;
+ argv += optind;
+
+ /* check existence of file input to the run-command */
+ if ((nFile = open(optarg, O_RDONLY, 0)) < 0)
+ err(1, "%s", optarg);
+
+ return 0; /* success */
+ }
|