Index: ossp-pkg/rc/00TODO RCS File: /v/ossp/cvs/ossp-pkg/rc/00TODO,v co -q -kk -p'1.1' '/v/ossp/cvs/ossp-pkg/rc/00TODO,v' | diff -u /dev/null - -L'ossp-pkg/rc/00TODO' 2>/dev/null --- ossp-pkg/rc/00TODO +++ - 2024-05-19 04:47:38.149477193 +0200 @@ -0,0 +1,8 @@ +rcTODO: Tasks left to accomplish before the rc utility is complete + +Consider + Develop return code and error definitions unique to OpenPKG + Enclose rc.c in its own project and write autoconf logic + +Must do + Translate rc bourne shell script to ANSI C Index: ossp-pkg/rc/rc.c RCS File: /v/ossp/cvs/ossp-pkg/rc/rc.c,v co -q -kk -p'1.1' '/v/ossp/cvs/ossp-pkg/rc/rc.c,v' | diff -u /dev/null - -L'ossp-pkg/rc/rc.c' 2>/dev/null --- ossp-pkg/rc/rc.c +++ - 2024-05-19 04:47:38.152405597 +0200 @@ -0,0 +1,94 @@ +/* +** OpenPKG rc - Run-Command Handling for OpenPKG +** Copyright (c) 2000-2001 Ralf S. Engelschall +** 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 +#include +#include +#include + + +void usage(char *szProgname) +{ + fprintf(stdout, "Usage: %s [-v|--verbose] [-h|--help]\n\ + [-p|--print] [-e|--eval] [-c|--config]\ + [-q|--query] [-r|--raw]\n\ + [ ...]", 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 */ +} Index: ossp-pkg/rc/rc.h RCS File: /v/ossp/cvs/ossp-pkg/rc/rc.h,v co -q -kk -p'1.1' '/v/ossp/cvs/ossp-pkg/rc/rc.h,v' | diff -u /dev/null - -L'ossp-pkg/rc/rc.h' 2>/dev/null --- ossp-pkg/rc/rc.h +++ - 2024-05-19 04:47:38.155405265 +0200 @@ -0,0 +1,47 @@ +/* +** OpenPKG rc - Run-Command Handling for OpenPKG +** Copyright (c) 2000-2001 Ralf S. Engelschall +** 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.h: run-command processor ANSI C header file +*/ + +#ifndef __OPENPKGRC_H__ +#define __OPENPKGRC_H__ + +/* compensate for poor standard environments */ +#ifndef NULL +#define NULL (void *)0 +#endif + +#ifndef FALSE +#define FALSE (0) +#endif + +#ifndef TRUE +#define TRUE (!FALSE) +#endif + +#endif /* __OPENPKGRC_H__ */