*** /dev/null Sat Nov 23 01:32:35 2024
--- - Sat Nov 23 01:32:35 2024
***************
*** 0 ****
--- 1,130 ----
+ /* OSSP rc - Run-command processor
+ ** Copyright (c) 2002 Ralf S. Engelschall
+ ** Copyright (c) 2002 Cable & Wireless Deutschland GmbH
+ ** Copyright (c) 2002 The OSSP Project <http://www.ossp.org/>
+ **
+ ** This file is part of OSSP rc, a portable Run-command processor
+ ** which can be found at http://www.ossp.org/pkg/lib/rc/
+ **
+ ** 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_anal.c: Run-command processor ISO C source file
+ */
+
+ #include <stdlib.h>
+
+ #include "rc.h" /* Public interfaces */
+ #include "rc_config.h" /* Configuration interface */
+
+
+ /************************************************
+ * analNew(void) *
+ * Construct a new analyser *
+ ************************************************/
+ rc_anal_t *analNew(void)
+ {
+ rc_anal_t *pNew = NULL;
+
+ pNew = malloc(sizeof(rc_anal_t));
+ return(pNew);
+ }
+
+ /************************************************
+ * private analRcs(rc_anal_t *, const char *) *
+ * Read a rc file identifier to analyse *
+ ************************************************/
+ rc_return_t analRcs(rc_anal_t *pInst, const char *kszName)
+ {
+ TRACE(kszName);
+ return(RC_THROW(RC_OK));
+ }
+
+ /************************************************
+ * private analTmp(rc_anal_t *, const char *) *
+ * Read a temp file to use for analysis *
+ ************************************************/
+ rc_return_t analTmp(rc_anal_t *pInst, const char *kszName)
+ {
+ TRACE(kszName);
+ return(RC_THROW(RC_OK));
+ }
+
+ /************************************************
+ * private analFuncs(rc_anal_t *, const char *) *
+ * Read a functions file to analyse *
+ ************************************************/
+ rc_return_t analFuncs(rc_anal_t *pInst, const char *kszName)
+ {
+ TRACE(kszName);
+ return(RC_THROW(RC_OK));
+ }
+
+ /************************************************
+ * private analLocs(rc_anal_t *, const char *) *
+ * Read a location path expression to analyse *
+ ************************************************/
+ rc_return_t analLocs(rc_anal_t *pInst, const char *kszPathexpr)
+ {
+ TRACE(kszPathexpr);
+ return(RC_THROW(RC_OK));
+ }
+
+ /************************************************
+ * private analSecs(rc_anal_t *, const char **) *
+ * Read a sections vector to analyse *
+ ************************************************/
+ rc_return_t analSecs(rc_anal_t *pInst, const char **pkszVector)
+ {
+ TRACE("Variable pkszVector is not an ANSI string.");
+ return(RC_THROW(RC_OK));
+ }
+
+ /************************************************
+ * analParse(rc_anal_t *) *
+ * Parse the analyzed configuration data *
+ ************************************************/
+ rc_return_t analParse(rc_anal_t *pInst)
+ {
+ ex_t Except;
+
+ assert(pInst); /* Verify sanity */
+ ex_try { /* Read in data from the main configuration */
+ analRcs (pInst, configGetrcfile());
+ analTmp (pInst, configGetval(RC_TMP_VAL));
+ analFuncs(pInst, configGetval(RC_FNC_VAL));
+ analLocs (pInst, configGetval(RC_LOC_VAL));
+ analSecs (pInst, configGetsecs());
+ }
+ ex_catch(Except) {
+ rethrow;
+ }
+
+ return(RC_THROW(RC_OK));
+ }
+
+ /************************************************
+ * analDelete(rc_anal_t *) *
+ * Destruct an analyser *
+ ************************************************/
+ rc_return_t analDelete(rc_anal_t *pInst)
+ {
+ free(pInst);
+
+ return(RC_THROW(RC_OK));
+ }
|