OSSP CVS Repository

ossp - ossp-pkg/rc/rc_cliopt.c 1.1
Not logged in
[Honeypot]  [Browse]  [Directory]  [Home]  [Login
[Reports]  [Search]  [Ticket]  [Timeline
  [Raw

ossp-pkg/rc/rc_cliopt.c 1.1
/*  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_cliopt.c: Run-command processor ISO C source file
*/

#include <stdio.h>
#include <stdlib.h>

#include "rc.h"
#include "rc_cliopt.h"

static rc_cliopt_t *s_pInst = NULL; /* Singleton cliopt instance */


/***************************************
* clioptConstruct(void)                *
* Construct a command line option      *
***************************************/
rc_return_t clioptConstruct(void)
{
    assert(s_pInst == NULL);
    s_pInst = malloc(sizeof(s_pInst));  /* Allocate a cliopt instance   */
    if (!s_pInst)
        return(RC_THROW(RC_ERR_MEM));

    return(RC_THROW(RC_OK));
}

/***************************************
* clioptGetXXXX(void)                  *
* Command line option accessors        *
***************************************/
short clioptGetvers(void)
{
    ex_t Except;
    short nVer = 0;

    assert(s_pInst);
    ex_try {

    }
    ex_catch(Except) {
        rethrow;
    }

    return(nVer);
}

/***************************************
* clioptDestruct(void)                 *
* Destruct a command line option       *
***************************************/
rc_return_t clioptDestruct(void)
{
    assert(s_pInst);
    free(s_pInst);      /* Deallocate cliopt and    */
    s_pInst = NULL;     /* clear its reference      */

    return(RC_THROW(RC_OK));
}

CVSTrac 2.0.1