SphinxBase  5prealpha
cmd_ln.h File Reference

Command-line and other configurationparsing and handling. More...

#include <stdio.h>
#include <stdarg.h>
#include <sphinxbase/sphinxbase_export.h>
#include <sphinxbase/prim_type.h>

Go to the source code of this file.

Data Structures

struct  arg_s
 

Macros

#define ARG_STRINGIFY(s)   ARG_STRINGIFY1(s)
 Helper macro to stringify enums and other non-string values for default arguments.
 
#define ARG_STRINGIFY1(s)   #s
 
#define cmd_ln_boolean_r(c, n)   (cmd_ln_int_r(c,n) != 0)
 Retrieve a boolean value from a command-line object.
 
#define cmd_ln_set_boolean_r(c, n, b)   (cmd_ln_set_int_r(c,n,(b)!=0))
 Set a boolean value in a command-line object.
 
#define cmd_ln_int32_r(c, n)   (int32)cmd_ln_int_r(c,n)
 
#define cmd_ln_float32_r(c, n)   (float32)cmd_ln_float_r(c,n)
 
#define cmd_ln_float64_r(c, n)   (float64)cmd_ln_float_r(c,n)
 
#define cmd_ln_set_int32_r(c, n, i)   cmd_ln_set_int_r(c,n,i)
 
#define cmd_ln_set_float32_r(c, n, f)   cmd_ln_set_float_r(c,n,(double)f)
 
#define cmd_ln_set_float64_r(c, n, f)   cmd_ln_set_float_r(c,n,(double)f)
 
#define cmd_ln_exists(name)   cmd_ln_exists_r(cmd_ln_get(), name)
 Test the existence of a command-line argument in the global set of definitions. More...
 
#define cmd_ln_access(name)   cmd_ln_access_r(cmd_ln_get(), name)
 Return a pointer to the previously parsed value for the given argument name. More...
 
#define cmd_ln_str(name)   cmd_ln_str_r(cmd_ln_get(), name)
 Retrieve a string from the global command line. More...
 
#define cmd_ln_str_list(name)   cmd_ln_str_list_r(cmd_ln_get(), name)
 Retrieve an array of strings in the global command line. More...
 
#define cmd_ln_int32(name)   (int32)cmd_ln_int_r(cmd_ln_get(), name)
 Retrieve a 32-bit integer from the global command line. More...
 
#define cmd_ln_float32(name)   (float32)cmd_ln_float_r(cmd_ln_get(), name)
 Retrieve a 32-bit float from the global command line. More...
 
#define cmd_ln_float64(name)   (float64)cmd_ln_float_r(cmd_ln_get(), name)
 Retrieve a 64-bit float from the global command line. More...
 
#define cmd_ln_boolean(name)   cmd_ln_boolean_r(cmd_ln_get(), name)
 Retrieve a boolean from the global command line. More...
 
#define cmd_ln_set_str(n, s)   cmd_ln_set_str_r(cmd_ln_get(),n,s)
 Set a string in the global command line. More...
 
#define cmd_ln_set_int32(n, i)   cmd_ln_set_int_r(cmd_ln_get(),n,i)
 Set a 32-bit integer value in the global command line. More...
 
#define cmd_ln_set_float32(n, f)   cmd_ln_set_float_r(cmd_ln_get(),n,f)
 Set a 32-bit float in the global command line. More...
 
#define cmd_ln_set_float64(n, f)   cmd_ln_set_float_r(cmd_ln_get(),n,f)
 Set a 64-bit float in the global command line. More...
 
#define cmd_ln_set_boolean(n, b)   cmd_ln_set_boolean_r(cmd_ln_get(),n,b)
 Set a boolean value in the global command line. More...
 
#define cmd_ln_print_help(f, d)   cmd_ln_print_help_r(cmd_ln_get(),f,d)
 Print a help message listing the valid argument names, and the associated attributes as given in defn. More...
 
Values for arg_t::type
#define ARG_REQUIRED   (1<<0)
 Bit indicating a required argument.
 
#define ARG_INTEGER   (1<<1)
 Integer argument (optional).
 
#define ARG_FLOATING   (1<<2)
 Floating point argument (optional).
 
#define ARG_STRING   (1<<3)
 String argument (optional).
 
#define ARG_BOOLEAN   (1<<4)
 Boolean (true/false) argument (optional).
 
#define ARG_STRING_LIST   (1<<5)
 Boolean (true/false) argument (optional).
 
#define REQARG_INTEGER   (ARG_INTEGER | ARG_REQUIRED)
 Required integer argument.
 
#define REQARG_FLOATING   (ARG_FLOATING | ARG_REQUIRED)
 Required floating point argument.
 
#define REQARG_STRING   (ARG_STRING | ARG_REQUIRED)
 Required string argument.
 
#define REQARG_BOOLEAN   (ARG_BOOLEAN | ARG_REQUIRED)
 Required boolean argument.
 
#define ARG_INT32   ARG_INTEGER
 
#define ARG_FLOAT32   ARG_FLOATING
 
#define ARG_FLOAT64   ARG_FLOATING
 
#define REQARG_INT32   (ARG_INT32 | ARG_REQUIRED)
 
#define REQARG_FLOAT32   (ARG_FLOAT32 | ARG_REQUIRED)
 
#define REQARG_FLOAT64   (ARG_FLOAT64 | ARG_REQUIRED)
 

Typedefs

typedef struct arg_s arg_t
 
typedef struct cmd_ln_s cmd_ln_t
 

Functions

SPHINXBASE_EXPORT cmd_ln_tcmd_ln_init (cmd_ln_t *inout_cmdln, arg_t const *defn, int32 strict,...)
 Create a cmd_ln_t from NULL-terminated list of arguments. More...
 
SPHINXBASE_EXPORT cmd_ln_tcmd_ln_retain (cmd_ln_t *cmdln)
 Retain ownership of a command-line argument set. More...
 
SPHINXBASE_EXPORT int cmd_ln_free_r (cmd_ln_t *cmdln)
 Release a command-line argument set and all associated strings. More...
 
SPHINXBASE_EXPORT cmd_ln_tcmd_ln_parse_r (cmd_ln_t *inout_cmdln, arg_t const *defn, int32 argc, char *argv[], int32 strict)
 Parse a list of strings into argumetns. More...
 
SPHINXBASE_EXPORT cmd_ln_tcmd_ln_parse_file_r (cmd_ln_t *inout_cmdln, arg_t const *defn, char const *filename, int32 strict)
 Parse an arguments file by deliminating on " \r\t\n" and putting each tokens into an argv[] for cmd_ln_parse(). More...
 
SPHINXBASE_EXPORT anytype_tcmd_ln_access_r (cmd_ln_t *cmdln, char const *name)
 Access the generic type union for a command line argument.
 
SPHINXBASE_EXPORT char const * cmd_ln_str_r (cmd_ln_t *cmdln, char const *name)
 Retrieve a string from a command-line object. More...
 
SPHINXBASE_EXPORT char const ** cmd_ln_str_list_r (cmd_ln_t *cmdln, char const *name)
 Retrieve an array of strings from a command-line object. More...
 
SPHINXBASE_EXPORT long cmd_ln_int_r (cmd_ln_t *cmdln, char const *name)
 Retrieve an integer from a command-line object. More...
 
SPHINXBASE_EXPORT double cmd_ln_float_r (cmd_ln_t *cmdln, char const *name)
 Retrieve a floating-point number from a command-line object. More...
 
SPHINXBASE_EXPORT void cmd_ln_set_str_r (cmd_ln_t *cmdln, char const *name, char const *str)
 Set a string in a command-line object. More...
 
SPHINXBASE_EXPORT void cmd_ln_set_str_extra_r (cmd_ln_t *cmdln, char const *name, char const *str)
 Set a string in a command-line object even if it is not present in argument description. More...
 
SPHINXBASE_EXPORT void cmd_ln_set_int_r (cmd_ln_t *cmdln, char const *name, long iv)
 Set an integer in a command-line object. More...
 
SPHINXBASE_EXPORT void cmd_ln_set_float_r (cmd_ln_t *cmdln, char const *name, double fv)
 Set a floating-point number in a command-line object. More...
 
SPHINXBASE_EXPORT int cmd_ln_exists_r (cmd_ln_t *cmdln, char const *name)
 Re-entrant version of cmd_ln_exists(). More...
 
SPHINXBASE_EXPORT void cmd_ln_print_help_r (cmd_ln_t *cmdln, FILE *fp, const arg_t *defn)
 Print a help message listing the valid argument names, and the associated attributes as given in defn. More...
 
SPHINXBASE_EXPORT void cmd_ln_print_values_r (cmd_ln_t *cmdln, FILE *fp, const arg_t *defn)
 Print current configuration values and defaults. More...
 
SPHINXBASE_EXPORT int32 cmd_ln_parse (const arg_t *defn, int32 argc, char *argv[], int32 strict)
 Non-reentrant version of cmd_ln_parse(). More...
 
SPHINXBASE_EXPORT int32 cmd_ln_parse_file (const arg_t *defn, char const *filename, int32 strict)
 Parse an arguments file by deliminating on " \r\t\n" and putting each tokens into an argv[] for cmd_ln_parse(). More...
 
SPHINXBASE_EXPORT void cmd_ln_appl_enter (int argc, char *argv[], char const *default_argfn, const arg_t *defn)
 Old application initialization routine for Sphinx3 code. More...
 
SPHINXBASE_EXPORT void cmd_ln_appl_exit (void)
 Finalization routine corresponding to cmd_ln_appl_enter(). More...
 
SPHINXBASE_EXPORT cmd_ln_tcmd_ln_get (void)
 Retrieve the global cmd_ln_t object used by non-re-entrant functions. More...
 
SPHINXBASE_EXPORT void cmd_ln_free (void)
 Free the global command line, if any exists. More...
 

Detailed Description

Command-line and other configurationparsing and handling.

Configuration parameters, optionally parsed from the command line.

Definition in file cmd_ln.h.

Macro Definition Documentation

#define ARG_FLOAT32   ARG_FLOATING
Deprecated:
Use ARG_FLOATING instead.

Definition at line 148 of file cmd_ln.h.

#define ARG_FLOAT64   ARG_FLOATING
Deprecated:
Use ARG_FLOATING instead.

Definition at line 152 of file cmd_ln.h.

#define ARG_INT32   ARG_INTEGER
Deprecated:
Use ARG_INTEGER instead.

Definition at line 144 of file cmd_ln.h.

#define cmd_ln_access (   name)    cmd_ln_access_r(cmd_ln_get(), name)

Return a pointer to the previously parsed value for the given argument name.

Deprecated:
This is deprecated in favor of the re-entrant API function cmd_ln_access_r().

Definition at line 505 of file cmd_ln.h.

#define cmd_ln_boolean (   name)    cmd_ln_boolean_r(cmd_ln_get(), name)

Retrieve a boolean from the global command line.

Deprecated:
This is deprecated in favor of the re-entrant API function cmd_ln_boolean_r().

Definition at line 550 of file cmd_ln.h.

#define cmd_ln_exists (   name)    cmd_ln_exists_r(cmd_ln_get(), name)

Test the existence of a command-line argument in the global set of definitions.

Deprecated:
This is deprecated in favor of the re-entrant API function cmd_ln_exists_r().
Returns
True if the command line argument exists (i.e. it was one of the arguments defined in the call to cmd_ln_parse().

Definition at line 497 of file cmd_ln.h.

#define cmd_ln_float32 (   name)    (float32)cmd_ln_float_r(cmd_ln_get(), name)

Retrieve a 32-bit float from the global command line.

Deprecated:
This is deprecated in favor of the re-entrant API function cmd_ln_float_r().

Definition at line 536 of file cmd_ln.h.

#define cmd_ln_float64 (   name)    (float64)cmd_ln_float_r(cmd_ln_get(), name)

Retrieve a 64-bit float from the global command line.

Deprecated:
This is deprecated in favor of the re-entrant API function cmd_ln_float_r().

Definition at line 543 of file cmd_ln.h.

#define cmd_ln_int32 (   name)    (int32)cmd_ln_int_r(cmd_ln_get(), name)

Retrieve a 32-bit integer from the global command line.

Deprecated:
This is deprecated in favor of the re-entrant API function cmd_ln_int_r().

Definition at line 529 of file cmd_ln.h.

#define cmd_ln_print_help (   f,
 
)    cmd_ln_print_help_r(cmd_ln_get(),f,d)

Print a help message listing the valid argument names, and the associated attributes as given in defn.

Deprecated:
This is deprecated in favor of the re-entrant API function cmd_ln_print_help_r().

Definition at line 595 of file cmd_ln.h.

Referenced by cmd_ln_appl_enter().

#define cmd_ln_set_boolean (   n,
 
)    cmd_ln_set_boolean_r(cmd_ln_get(),n,b)

Set a boolean value in the global command line.

Deprecated:
This is deprecated in favor of the re-entrant API function cmd_ln_set_boolean_r().

Definition at line 586 of file cmd_ln.h.

#define cmd_ln_set_float32 (   n,
 
)    cmd_ln_set_float_r(cmd_ln_get(),n,f)

Set a 32-bit float in the global command line.

Deprecated:
This is deprecated in favor of the re-entrant API function cmd_ln_set_float_r().

Definition at line 572 of file cmd_ln.h.

#define cmd_ln_set_float64 (   n,
 
)    cmd_ln_set_float_r(cmd_ln_get(),n,f)

Set a 64-bit float in the global command line.

Deprecated:
This is deprecated in favor of the re-entrant API function cmd_ln_set_float_r().

Definition at line 579 of file cmd_ln.h.

#define cmd_ln_set_int32 (   n,
 
)    cmd_ln_set_int_r(cmd_ln_get(),n,i)

Set a 32-bit integer value in the global command line.

Deprecated:
This is deprecated in favor of the re-entrant API function cmd_ln_set_int_r().

Definition at line 565 of file cmd_ln.h.

#define cmd_ln_set_str (   n,
 
)    cmd_ln_set_str_r(cmd_ln_get(),n,s)

Set a string in the global command line.

Deprecated:
This is deprecated in favor of the re-entrant API function cmd_ln_set_str_r().

Definition at line 558 of file cmd_ln.h.

#define cmd_ln_str (   name)    cmd_ln_str_r(cmd_ln_get(), name)

Retrieve a string from the global command line.

Deprecated:
This is deprecated in favor of the re-entrant API function cmd_ln_str_r().

Definition at line 513 of file cmd_ln.h.

#define cmd_ln_str_list (   name)    cmd_ln_str_list_r(cmd_ln_get(), name)

Retrieve an array of strings in the global command line.

Deprecated:
This is deprecated in favor of the re-entrant API function cmd_ln_str_list_r().

Definition at line 521 of file cmd_ln.h.

#define REQARG_FLOAT32   (ARG_FLOAT32 | ARG_REQUIRED)
Deprecated:
Use REQARG_FLOATING instead.

Definition at line 160 of file cmd_ln.h.

#define REQARG_FLOAT64   (ARG_FLOAT64 | ARG_REQUIRED)
Deprecated:
Use REQARG_FLOATING instead.

Definition at line 164 of file cmd_ln.h.

#define REQARG_INT32   (ARG_INT32 | ARG_REQUIRED)
Deprecated:
Use REQARG_INTEGER instead.

Definition at line 156 of file cmd_ln.h.

Function Documentation

SPHINXBASE_EXPORT void cmd_ln_appl_enter ( int  argc,
char *  argv[],
char const *  default_argfn,
const arg_t defn 
)

Old application initialization routine for Sphinx3 code.

Deprecated:
This is deprecated in favor of the re-entrant API.
Parameters
argcIn: Number of actual arguments
argvIn: Number of actual arguments
default_argfnIn: default argument file name
defnCommand-line argument definition

Definition at line 499 of file cmd_ln.c.

References cmd_ln_parse(), cmd_ln_parse_file(), cmd_ln_print_help, E_INFO, and E_INFOCONT.

SPHINXBASE_EXPORT void cmd_ln_appl_exit ( void  )

Finalization routine corresponding to cmd_ln_appl_enter().

Deprecated:
This is deprecated in favor of the re-entrant API.

Definition at line 549 of file cmd_ln.c.

References cmd_ln_free().

SPHINXBASE_EXPORT int cmd_ln_exists_r ( cmd_ln_t cmdln,
char const *  name 
)

Re-entrant version of cmd_ln_exists().

Returns
True if the command line argument exists (i.e. it was one of the arguments defined in the call to cmd_ln_parse_r().

Definition at line 929 of file cmd_ln.c.

References hash_table_lookup().

Referenced by cmd_ln_parse_r(), and ngram_model_read().

SPHINXBASE_EXPORT double cmd_ln_float_r ( cmd_ln_t cmdln,
char const *  name 
)

Retrieve a floating-point number from a command-line object.

Parameters
cmdlnCommand-line object.
namethe command-line flag to retrieve.
Returns
the float value associated with name, or 0.0 if name does not exist. You must use cmd_ln_exists_r() to distinguish between cases where a value is legitimately zero and where the corresponding flag is unknown.

Definition at line 979 of file cmd_ln.c.

References cmd_ln_access_r().

SPHINXBASE_EXPORT void cmd_ln_free ( void  )

Free the global command line, if any exists.

Deprecated:
Use the re-entrant API instead.

Definition at line 1082 of file cmd_ln.c.

References cmd_ln_free_r().

Referenced by cmd_ln_appl_exit().

SPHINXBASE_EXPORT int cmd_ln_free_r ( cmd_ln_t cmdln)

Release a command-line argument set and all associated strings.

Returns
new reference count (0 if freed completely)

Definition at line 1046 of file cmd_ln.c.

References ckd_free(), glist_free(), gnode_ptr, hash_table_free(), hash_table_tolist(), and hash_entry_s::val.

Referenced by cmd_ln_free(), and cmd_ln_parse_r().

SPHINXBASE_EXPORT cmd_ln_t* cmd_ln_get ( void  )

Retrieve the global cmd_ln_t object used by non-re-entrant functions.

Deprecated:
This is deprecated in favor of the re-entrant API.
Returns
global cmd_ln_t object.

Definition at line 493 of file cmd_ln.c.

SPHINXBASE_EXPORT cmd_ln_t* cmd_ln_init ( cmd_ln_t inout_cmdln,
arg_t const *  defn,
int32  strict,
  ... 
)

Create a cmd_ln_t from NULL-terminated list of arguments.

This function creates a cmd_ln_t from a NULL-terminated list of argument strings. For example, to create the equivalent of passing "-hmm foodir -dsratio 2 -lm bar.lm" on the command-line:

config = cmd_ln_init(NULL, defs, TRUE, "-hmm", "foodir", "-dsratio", "2", "-lm", "bar.lm", NULL);

Note that for simplicity, all arguments are passed as strings, regardless of the actual underlying type.

Parameters
inout_cmdlnPrevious command-line to update, or NULL to create a new one.
defnArray of argument name definitions, or NULL to allow any arguments.
strictWhether to fail on duplicate or unknown arguments.
Returns
A cmd_ln_t* containing the results of command line parsing, or NULL on failure.

Definition at line 709 of file cmd_ln.c.

References ckd_calloc, ckd_salloc, and E_ERROR.

SPHINXBASE_EXPORT long cmd_ln_int_r ( cmd_ln_t cmdln,
char const *  name 
)

Retrieve an integer from a command-line object.

Parameters
cmdlnCommand-line object.
namethe command-line flag to retrieve.
Returns
the integer value associated with name, or 0 if name does not exist. You must use cmd_ln_exists_r() to distinguish between cases where a value is legitimately zero and where the corresponding flag is unknown.

Definition at line 969 of file cmd_ln.c.

References cmd_ln_access_r().

SPHINXBASE_EXPORT int32 cmd_ln_parse ( const arg_t defn,
int32  argc,
char *  argv[],
int32  strict 
)

Non-reentrant version of cmd_ln_parse().

Deprecated:
This is deprecated in favor of the re-entrant API function cmd_ln_parse_r().
Returns
0 if successful, <0 if error.
Parameters
defnIn: Array of argument name definitions
argcIn: Number of actual arguments
argvIn: Actual arguments
strictIn: Fail on duplicate or unknown arguments, or no arguments?

Definition at line 746 of file cmd_ln.c.

References cmd_ln_parse_r(), and E_ERROR.

Referenced by cmd_ln_appl_enter().

SPHINXBASE_EXPORT int32 cmd_ln_parse_file ( const arg_t defn,
char const *  filename,
int32  strict 
)

Parse an arguments file by deliminating on " \r\t\n" and putting each tokens into an argv[] for cmd_ln_parse().

Deprecated:
This is deprecated in favor of the re-entrant API function cmd_ln_parse_file_r().
Returns
0 if successful, <0 on error.
Parameters
defnIn: Array of argument name definitions
filenameIn: A file that contains all the arguments
strictIn: Fail on duplicate or unknown arguments, or no arguments?

Definition at line 895 of file cmd_ln.c.

References cmd_ln_parse_file_r().

Referenced by cmd_ln_appl_enter().

SPHINXBASE_EXPORT cmd_ln_t* cmd_ln_parse_file_r ( cmd_ln_t inout_cmdln,
arg_t const *  defn,
char const *  filename,
int32  strict 
)

Parse an arguments file by deliminating on " \r\t\n" and putting each tokens into an argv[] for cmd_ln_parse().

Returns
A cmd_ln_t containing the results of command line parsing, or NULL on failure.
Parameters
inout_cmdlnIn/Out: Previous command-line to update, or NULL to create a new one.
defnIn: Array of argument name definitions
filenameIn: A file that contains all the arguments
strictIn: Fail on duplicate or unknown arguments, or no arguments?

Definition at line 764 of file cmd_ln.c.

References ckd_calloc, ckd_free(), ckd_realloc, ckd_salloc, E_ERROR, and E_WARN.

Referenced by cmd_ln_parse_file().

SPHINXBASE_EXPORT cmd_ln_t* cmd_ln_parse_r ( cmd_ln_t inout_cmdln,
arg_t const *  defn,
int32  argc,
char *  argv[],
int32  strict 
)

Parse a list of strings into argumetns.

Parse the given list of arguments (name-value pairs) according to the given definitions. Argument values can be retrieved in future using cmd_ln_access(). argv[0] is assumed to be the program name and skipped. Any unknown argument name causes a fatal error. The routine also prints the prevailing argument values (to stderr) after parsing.

Note
It is currently assumed that the strings in argv are allocated statically, or at least that they will be valid as long as the cmd_ln_t returned from this function. Unpredictable behaviour will result if they are freed or otherwise become invalidated.
Returns
A cmd_ln_t containing the results of command line parsing, or NULL on failure.
Parameters
inout_cmdlnIn/Out: Previous command-line to update, or NULL to create a new one.
defnIn: Array of argument name definitions
argcIn: Number of actual arguments
argvIn: Actual arguments
strictIn: Fail on duplicate or unknown arguments, or no arguments?

Definition at line 556 of file cmd_ln.c.

References ARG_REQUIRED, ARG_STRING, ckd_calloc, cmd_ln_exists_r(), cmd_ln_free_r(), cmd_ln_print_help_r(), cmd_ln_print_values_r(), E_ERROR, err_get_logfp(), hash_table_enter(), hash_table_free(), hash_table_lookup(), hash_table_new(), and hash_table_replace().

Referenced by cmd_ln_parse().

SPHINXBASE_EXPORT void cmd_ln_print_help_r ( cmd_ln_t cmdln,
FILE *  fp,
const arg_t defn 
)

Print a help message listing the valid argument names, and the associated attributes as given in defn.

Parameters
cmdlncommand-line object
fpoutput stream
defnarray of argument name definitions.

Definition at line 911 of file cmd_ln.c.

Referenced by cmd_ln_parse_r().

SPHINXBASE_EXPORT void cmd_ln_print_values_r ( cmd_ln_t cmdln,
FILE *  fp,
const arg_t defn 
)

Print current configuration values and defaults.

Parameters
cmdlncommand-line object
fpoutput stream
defnarray of argument name definitions.

Definition at line 920 of file cmd_ln.c.

Referenced by cmd_ln_parse_r().

SPHINXBASE_EXPORT cmd_ln_t* cmd_ln_retain ( cmd_ln_t cmdln)

Retain ownership of a command-line argument set.

Returns
pointer to retained command-line argument set.

Definition at line 1039 of file cmd_ln.c.

SPHINXBASE_EXPORT void cmd_ln_set_float_r ( cmd_ln_t cmdln,
char const *  name,
double  fv 
)

Set a floating-point number in a command-line object.

Parameters
cmdlnCommand-line object.
nameThe command-line flag to set.
fvInteger value to set.

Definition at line 1027 of file cmd_ln.c.

References cmd_ln_access_r(), and E_ERROR.

SPHINXBASE_EXPORT void cmd_ln_set_int_r ( cmd_ln_t cmdln,
char const *  name,
long  iv 
)

Set an integer in a command-line object.

Parameters
cmdlnCommand-line object.
nameThe command-line flag to set.
ivInteger value to set.

Definition at line 1015 of file cmd_ln.c.

References cmd_ln_access_r(), and E_ERROR.

SPHINXBASE_EXPORT void cmd_ln_set_str_extra_r ( cmd_ln_t cmdln,
char const *  name,
char const *  str 
)

Set a string in a command-line object even if it is not present in argument description.

Useful for setting extra values computed from configuration, propagated to other parts.

Parameters
cmdlnCommand-line object.
nameThe command-line flag to set.
strString value to set. The command-line object does not retain ownership of this pointer.

Definition at line 1002 of file cmd_ln.c.

References ARG_STRING, ckd_free(), ckd_salloc, hash_table_enter(), and hash_table_lookup().

SPHINXBASE_EXPORT void cmd_ln_set_str_r ( cmd_ln_t cmdln,
char const *  name,
char const *  str 
)

Set a string in a command-line object.

Parameters
cmdlnCommand-line object.
nameThe command-line flag to set.
strString value to set. The command-line object does not retain ownership of this pointer.

Definition at line 989 of file cmd_ln.c.

References ckd_free(), ckd_salloc, cmd_ln_access_r(), and E_ERROR.

SPHINXBASE_EXPORT char const** cmd_ln_str_list_r ( cmd_ln_t cmdln,
char const *  name 
)

Retrieve an array of strings from a command-line object.

The command-line object retains ownership of this array, so you should not attempt to free it manually.

Parameters
cmdlnCommand-line object.
namethe command-line flag to retrieve.
Returns
the array of strings associated with name, or NULL if name does not exist. You must use cmd_ln_exists_r() to distinguish between cases where a value is legitimately NULL and where the corresponding flag is unknown.

Definition at line 959 of file cmd_ln.c.

References cmd_ln_access_r().

SPHINXBASE_EXPORT char const* cmd_ln_str_r ( cmd_ln_t cmdln,
char const *  name 
)

Retrieve a string from a command-line object.

The command-line object retains ownership of this string, so you should not attempt to free it manually.

Parameters
cmdlnCommand-line object.
namethe command-line flag to retrieve.
Returns
the string value associated with name, or NULL if name does not exist. You must use cmd_ln_exists_r() to distinguish between cases where a value is legitimately NULL and where the corresponding flag is unknown.

Definition at line 949 of file cmd_ln.c.

References cmd_ln_access_r().