refactored optionsfrom as in an object-oriented way using the options_t class. Eliminated all memory leaks
This commit is contained in:
@@ -6,8 +6,9 @@
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 1998, 1999 Henry Spencer.
|
||||
* Copyright (C) 2007 Andreas Steffen, Hochschule fuer Technik Rapperswil
|
||||
* Copyright (C) 2007-2008 Andreas Steffen
|
||||
*
|
||||
* Hochschule fuer Technik Rapperswil
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
@@ -18,20 +19,51 @@
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* for more details.
|
||||
*
|
||||
* RCSID $Id$
|
||||
*/
|
||||
|
||||
#ifndef OPTIONSFROM_H_
|
||||
#define OPTIONSFROM_H_
|
||||
|
||||
typedef struct options_t options_t;
|
||||
|
||||
/**
|
||||
* @brief Pick up more options from a file, in the middle of an option scan
|
||||
* @brief options object.
|
||||
*
|
||||
* @param filename file containing the options
|
||||
* @param argcp pointer to argc
|
||||
* @param argvp pointer to argv[]
|
||||
* @param optind current optind, number of next argument
|
||||
* @return TRUE if optionsfrom parsing successful
|
||||
* @b Constructors:
|
||||
* - options_create()
|
||||
*
|
||||
* @ingroup utils
|
||||
*/
|
||||
bool optionsfrom(const char *filename, int *argcp, char **argvp[], int optind);
|
||||
struct options_t {
|
||||
/**
|
||||
* @brief Check if the PKCS#7 contentType is data
|
||||
*
|
||||
* @param this calling object
|
||||
* @param filename file containing the options
|
||||
* @param argcp pointer to argc
|
||||
* @param argvp pointer to argv[]
|
||||
* @param optind current optind, number of next argument
|
||||
* @return TRUE if optionsfrom parsing successful
|
||||
*/
|
||||
bool (*from) (options_t * this, char *filename, int *argcp, char **argvp[], int optind);
|
||||
|
||||
/**
|
||||
* @brief Destroys the options_t object.
|
||||
*
|
||||
* @param this options_t object to destroy
|
||||
*/
|
||||
void (*destroy) (options_t *this);
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Create an options object.
|
||||
*
|
||||
* @return created options_t object
|
||||
*
|
||||
* @ingroup utils
|
||||
*/
|
||||
options_t *options_create(void);
|
||||
|
||||
#endif /*OPTIONSFROM_H_*/
|
||||
|
||||
Reference in New Issue
Block a user