本文整理汇总了C++中pstdout_fprintf函数的典型用法代码示例。如果您正苦于以下问题:C++ pstdout_fprintf函数的具体用法?C++ pstdout_fprintf怎么用?C++ pstdout_fprintf使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了pstdout_fprintf函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: _set_key
static ipmi_config_err_t
_set_key (ipmi_config_state_data_t *state_data,
const char *section_name,
uint8_t key_type,
const void *key,
unsigned int key_len)
{
fiid_obj_t obj_cmd_rs = NULL;
ipmi_config_err_t rv = IPMI_CONFIG_ERR_FATAL_ERROR;
ipmi_config_err_t ret;
uint8_t channel_number;
assert (state_data);
assert (section_name);
assert (key_type == IPMI_CHANNEL_SECURITY_KEYS_KEY_ID_K_R
|| key_type == IPMI_CHANNEL_SECURITY_KEYS_KEY_ID_K_G);
assert (key);
if (!(obj_cmd_rs = fiid_obj_create (tmpl_cmd_set_channel_security_keys_rs)))
{
pstdout_fprintf (state_data->pstate,
stderr,
"fiid_obj_create: %s\n",
strerror (errno));
goto cleanup;
}
if ((ret = get_lan_channel_number (state_data, section_name, &channel_number)) != IPMI_CONFIG_ERR_SUCCESS)
{
rv = ret;
goto cleanup;
}
if (ipmi_cmd_set_channel_security_keys (state_data->ipmi_ctx,
channel_number,
IPMI_CHANNEL_SECURITY_KEYS_OPERATION_SET_KEY,
key_type,
key,
key_len,
obj_cmd_rs) < 0)
{
if (!IPMI_CTX_ERRNUM_IS_FATAL_ERROR (state_data->ipmi_ctx))
rv = IPMI_CONFIG_ERR_NON_FATAL_ERROR;
if (rv == IPMI_CONFIG_ERR_FATAL_ERROR
|| state_data->prog_data->args->common_args.debug)
pstdout_fprintf (state_data->pstate,
stderr,
"ipmi_cmd_set_channel_security_keys: %s\n",
ipmi_ctx_errormsg (state_data->ipmi_ctx));
goto cleanup;
}
rv = IPMI_CONFIG_ERR_SUCCESS;
cleanup:
fiid_obj_destroy (obj_cmd_rs);
return (rv);
}
示例2: ipmi_config_sensors_seek_to_sdr_record
ipmi_config_err_t
ipmi_config_sensors_seek_to_sdr_record (ipmi_config_state_data_t *state_data,
const char *section_name)
{
uint16_t record_id;
char *str = NULL;
char *ptr;
char *endptr;
ipmi_config_err_t rv = IPMI_CONFIG_ERR_FATAL_ERROR;
assert (state_data);
assert (section_name);
if (!(str = strdup (section_name)))
{
pstdout_perror (state_data->pstate, "strdup");
goto cleanup;
}
if (!(ptr = strchr (str, '_')))
{
pstdout_fprintf (state_data->pstate,
stderr,
"Invalid section_name: %s\n",
section_name);
goto cleanup;
}
*ptr = '\0';
errno = 0;
record_id = strtoul (str, &endptr,0);
if (errno
|| endptr[0] != '\0')
{
pstdout_fprintf (state_data->pstate,
stderr,
"Invalid section_name: %s\n",
section_name);
goto cleanup;
}
if (ipmi_sdr_cache_search_record_id (state_data->sdr_ctx,
record_id) < 0)
{
if (state_data->prog_data->args->common_args.debug)
pstdout_fprintf (state_data->pstate,
stderr,
"Record_id not found: %u\n",
record_id);
rv = IPMI_CONFIG_ERR_NON_FATAL_ERROR;
goto cleanup;
}
rv = IPMI_CONFIG_ERR_SUCCESS;
cleanup:
free (str);
return (rv);
}
示例3: _set_bad_password_threshold
static ipmi_config_err_t
_set_bad_password_threshold (ipmi_config_state_data_t *state_data,
const char *section_name,
struct bad_password_threshold *bpt)
{
fiid_obj_t obj_cmd_rs = NULL;
ipmi_config_err_t rv = IPMI_CONFIG_ERR_FATAL_ERROR;
ipmi_config_err_t ret;
uint8_t channel_number;
assert (state_data);
assert (section_name);
assert (bpt);
if (!(obj_cmd_rs = fiid_obj_create (tmpl_cmd_set_lan_configuration_parameters_rs)))
{
pstdout_fprintf (state_data->pstate,
stderr,
"fiid_obj_create: %s\n",
strerror (errno));
goto cleanup;
}
if ((ret = get_lan_channel_number (state_data, section_name, &channel_number)) != IPMI_CONFIG_ERR_SUCCESS)
{
rv = ret;
goto cleanup;
}
if (ipmi_cmd_set_lan_configuration_parameters_bad_password_threshold (state_data->ipmi_ctx,
channel_number,
bpt->user_disabled_event_message,
bpt->bad_password_threshold_number,
bpt->attempt_count_reset_interval,
bpt->user_lockout_interval,
obj_cmd_rs) < 0)
{
if (ipmi_config_param_errnum_is_non_fatal (state_data,
obj_cmd_rs,
&ret))
rv = ret;
if (rv == IPMI_CONFIG_ERR_FATAL_ERROR
|| state_data->prog_data->args->common_args.debug)
pstdout_fprintf (state_data->pstate,
stderr,
"ipmi_cmd_set_lan_configuration_parameters_bad_password_threshold: %s\n",
ipmi_ctx_errormsg (state_data->ipmi_ctx));
goto cleanup;
}
rv = IPMI_CONFIG_ERR_SUCCESS;
cleanup:
fiid_obj_destroy (obj_cmd_rs);
return (rv);
}
开发者ID:platinasystems,项目名称:freeipmi,代码行数:58,代码来源:ipmi-config-category-core-lan-conf-user-security-section.c
示例4: _ipmimonitoring_legacy_simple_output_header
static int
_ipmimonitoring_legacy_simple_output_header (ipmi_sensors_state_data_t *state_data,
uint16_t record_id)
{
char id_string[IPMI_SDR_MAX_ID_STRING_LENGTH + 1];
uint8_t sensor_type;
uint8_t event_reading_type_code;
const char * sensor_type_string = NULL;
assert (state_data);
memset (id_string, '\0', IPMI_SDR_MAX_ID_STRING_LENGTH + 1);
if (ipmi_sdr_parse_id_string (state_data->sdr_ctx,
NULL,
0,
id_string,
IPMI_SDR_MAX_ID_STRING_LENGTH) < 0)
{
pstdout_fprintf (state_data->pstate,
stderr,
"ipmi_sdr_parse_id_string: %s\n",
ipmi_sdr_ctx_errormsg (state_data->sdr_ctx));
return (-1);
}
if (ipmi_sdr_parse_sensor_type (state_data->sdr_ctx,
NULL,
0,
&sensor_type) < 0)
{
pstdout_fprintf (state_data->pstate,
stderr,
"ipmi_sdr_parse_sensor_type: %s\n",
ipmi_sdr_ctx_errormsg (state_data->sdr_ctx));
return (-1);
}
if ((state_data->prog_data->args->interpret_oem_data)
&& (ipmi_sdr_parse_event_reading_type_code (state_data->sdr_ctx,
NULL,
0,
&event_reading_type_code) >= 0))
sensor_type_string = get_oem_sensor_type_output_string (sensor_type,
event_reading_type_code,
state_data->oem_data.manufacturer_id,
state_data->oem_data.product_id);
else
sensor_type_string = get_sensor_type_output_string (sensor_type);
pstdout_printf (state_data->pstate,
"%u | %s | %s",
record_id,
id_string,
sensor_type_string);
return (0);
}
示例5: community_string_commit
static config_err_t
community_string_commit (const char *section_name,
const struct config_keyvalue *kv,
void *arg)
{
ipmi_pef_config_state_data_t *state_data;
fiid_obj_t obj_cmd_rs = NULL;
config_err_t rv = CONFIG_ERR_FATAL_ERROR;
config_err_t ret;
uint8_t channel_number;
assert (section_name);
assert (kv);
assert (arg);
state_data = (ipmi_pef_config_state_data_t *)arg;
if (!(obj_cmd_rs = fiid_obj_create (tmpl_cmd_set_lan_configuration_parameters_rs)))
{
pstdout_fprintf (state_data->pstate,
stderr,
"fiid_obj_create: %s\n",
strerror (errno));
goto cleanup;
}
if ((ret = get_lan_channel_number (state_data, section_name, &channel_number)) != CONFIG_ERR_SUCCESS)
{
rv = ret;
goto cleanup;
}
if (ipmi_cmd_set_lan_configuration_parameters_community_string (state_data->ipmi_ctx,
channel_number,
kv->value_input,
strlen (kv->value_input),
obj_cmd_rs) < 0)
{
if (state_data->prog_data->args->config_args.common_args.debug)
pstdout_fprintf (state_data->pstate,
stderr,
"ipmi_cmd_set_lan_configuration_parameters_community_string: %s\n",
ipmi_ctx_errormsg (state_data->ipmi_ctx));
if (config_is_config_param_non_fatal_error (state_data->ipmi_ctx,
obj_cmd_rs,
&ret))
rv = ret;
goto cleanup;
}
rv = CONFIG_ERR_SUCCESS;
cleanup:
fiid_obj_destroy (obj_cmd_rs);
return (rv);
}
示例6: _set_connection_mode
static ipmi_config_err_t
_set_connection_mode (ipmi_config_state_data_t *state_data,
const char *section_name,
struct connection_mode *cm)
{
fiid_obj_t obj_cmd_rs = NULL;
ipmi_config_err_t rv = IPMI_CONFIG_ERR_FATAL_ERROR;
ipmi_config_err_t ret;
uint8_t channel_number;
assert (state_data);
assert (section_name);
assert (cm);
if (!(obj_cmd_rs = fiid_obj_create (tmpl_cmd_set_serial_modem_configuration_rs)))
{
pstdout_fprintf (state_data->pstate,
stderr,
"fiid_obj_create: %s\n",
strerror (errno));
goto cleanup;
}
if ((ret = get_serial_channel_number (state_data, section_name, &channel_number)) != IPMI_CONFIG_ERR_SUCCESS)
{
rv = ret;
goto cleanup;
}
if (ipmi_cmd_set_serial_modem_configuration_connection_mode (state_data->ipmi_ctx,
channel_number,
cm->basic_mode,
cm->ppp_mode,
cm->terminal_mode,
cm->connect_mode,
obj_cmd_rs) < 0)
{
if (ipmi_config_param_errnum_is_non_fatal (state_data,
obj_cmd_rs,
&ret))
rv = ret;
if (rv == IPMI_CONFIG_ERR_FATAL_ERROR
|| state_data->prog_data->args->common_args.debug)
pstdout_fprintf (state_data->pstate,
stderr,
"ipmi_cmd_set_serial_modem_configuration_connection_mode: %s\n",
ipmi_ctx_errormsg (state_data->ipmi_ctx));
goto cleanup;
}
rv = IPMI_CONFIG_ERR_SUCCESS;
cleanup:
fiid_obj_destroy (obj_cmd_rs);
return (rv);
}
示例7: _get_number_of_event_filters
static ipmi_config_err_t
_get_number_of_event_filters (struct ipmi_config_state_data *state_data, uint8_t *number_of_event_filters)
{
fiid_obj_t obj_cmd_rs = NULL;
uint64_t val;
ipmi_config_err_t rv = IPMI_CONFIG_ERR_FATAL_ERROR;
ipmi_config_err_t ret;
assert (state_data);
assert (number_of_event_filters);
if (!(obj_cmd_rs = fiid_obj_create (tmpl_cmd_get_pef_configuration_parameters_number_of_event_filters_rs)))
{
pstdout_fprintf (state_data->pstate,
stderr,
"fiid_obj_create: %s\n",
strerror (errno));
goto cleanup;
}
if (ipmi_cmd_get_pef_configuration_parameters_number_of_event_filters (state_data->ipmi_ctx,
IPMI_GET_PEF_PARAMETER,
IPMI_PEF_CONFIGURATION_PARAMETERS_NO_SET_SELECTOR,
IPMI_PEF_CONFIGURATION_PARAMETERS_NO_BLOCK_SELECTOR,
obj_cmd_rs) < 0)
{
if (ipmi_errnum_is_non_fatal (state_data,
obj_cmd_rs,
&ret))
rv = ret;
if (rv == IPMI_CONFIG_ERR_FATAL_ERROR
|| state_data->prog_data->args->common_args.debug)
pstdout_fprintf (state_data->pstate,
stderr,
"ipmi_cmd_get_pef_configuration_parameters_number_of_event_filters: %s\n",
ipmi_ctx_errormsg (state_data->ipmi_ctx));
goto cleanup;
}
if (FIID_OBJ_GET (obj_cmd_rs,
"number_of_event_filters",
&val) < 0)
{
rv = IPMI_CONFIG_ERR_NON_FATAL_ERROR;
goto cleanup;
}
(*number_of_event_filters) = val;
rv = IPMI_CONFIG_ERR_SUCCESS;
cleanup:
fiid_obj_destroy (obj_cmd_rs);
return (rv);
}
示例8: page_blackout_interval_commit
static ipmi_config_err_t
page_blackout_interval_commit (ipmi_config_state_data_t *state_data,
const char *section_name,
const struct ipmi_config_keyvalue *kv)
{
fiid_obj_t obj_cmd_rs = NULL;
ipmi_config_err_t rv = IPMI_CONFIG_ERR_FATAL_ERROR;
ipmi_config_err_t ret;
uint8_t channel_number;
assert (state_data);
assert (section_name);
assert (kv);
if (!(obj_cmd_rs = fiid_obj_create (tmpl_cmd_set_serial_modem_configuration_rs)))
{
pstdout_fprintf (state_data->pstate,
stderr,
"fiid_obj_create: %s\n",
strerror (errno));
goto cleanup;
}
if ((ret = get_serial_channel_number (state_data, section_name, &channel_number)) != IPMI_CONFIG_ERR_SUCCESS)
{
rv = ret;
goto cleanup;
}
if (ipmi_cmd_set_serial_modem_configuration_page_blackout_interval (state_data->ipmi_ctx,
channel_number,
atoi (kv->value_input),
obj_cmd_rs) < 0)
{
if (ipmi_config_param_errnum_is_non_fatal (state_data,
obj_cmd_rs,
&ret))
rv = ret;
if (rv == IPMI_CONFIG_ERR_FATAL_ERROR
|| state_data->prog_data->args->common_args.debug)
pstdout_fprintf (state_data->pstate,
stderr,
"ipmi_cmd_set_serial_modem_configuration_page_blackout_interval: %s\n",
ipmi_ctx_errormsg (state_data->ipmi_ctx));
goto cleanup;
}
rv = IPMI_CONFIG_ERR_SUCCESS;
cleanup:
fiid_obj_destroy (obj_cmd_rs);
return (rv);
}
示例9: _set_pef_action_global_control
static config_err_t
_set_pef_action_global_control (pstdout_state_t pstate,
ipmi_ctx_t ipmi_ctx,
struct config_arguments *cmd_args,
struct pef_action_global_control *gc)
{
fiid_obj_t obj_cmd_rs = NULL;
config_err_t rv = CONFIG_ERR_FATAL_ERROR;
assert (ipmi_ctx);
assert (cmd_args);
assert (gc);
if (!(obj_cmd_rs = fiid_obj_create (tmpl_cmd_set_pef_configuration_parameters_rs)))
{
pstdout_fprintf (pstate,
stderr,
"fiid_obj_create: %s",
strerror (errno));
goto cleanup;
}
if (ipmi_cmd_set_pef_configuration_parameters_pef_action_global_control (ipmi_ctx,
gc->enable_alert_action,
gc->enable_power_down_action,
gc->enable_reset_action,
gc->enable_power_cycle_action,
gc->enable_oem_action,
gc->enable_diagnostic_interrupt,
obj_cmd_rs) < 0)
{
config_err_t ret;
if (cmd_args->common_args.debug)
pstdout_fprintf (pstate,
stderr,
"ipmi_cmd_set_pef_configuration_parameters_pef_action_global_control: %s\n",
ipmi_ctx_errormsg (ipmi_ctx));
if (config_is_config_param_non_fatal_error (ipmi_ctx,
obj_cmd_rs,
&ret))
rv = ret;
goto cleanup;
}
rv = CONFIG_ERR_SUCCESS;
cleanup:
if (obj_cmd_rs)
fiid_obj_destroy (obj_cmd_rs);
return (rv);
}
示例10: ipmi_oem_check_response_and_completion_code
int
ipmi_oem_check_response_and_completion_code (ipmi_oem_state_data_t *state_data,
uint8_t *bytes_rs,
unsigned int bytes_rs_len,
unsigned int expected_bytes_rs_len,
uint8_t cmd,
uint8_t netfn)
{
assert (state_data);
assert (bytes_rs);
if (bytes_rs_len < expected_bytes_rs_len)
{
if (bytes_rs_len >= 2 && bytes_rs[1] != IPMI_COMP_CODE_COMMAND_SUCCESS)
goto output_comp_code_error;
pstdout_fprintf (state_data->pstate,
stderr,
"%s:%s invalid response length: %u, expected %u\n",
state_data->prog_data->args->oem_id,
state_data->prog_data->args->oem_command,
bytes_rs_len,
expected_bytes_rs_len);
return (-1);
}
output_comp_code_error:
if (bytes_rs[1] != IPMI_COMP_CODE_COMMAND_SUCCESS)
{
char errbuf[IPMI_OEM_ERR_BUFLEN];
memset (errbuf, '\0', IPMI_OEM_ERR_BUFLEN);
if (ipmi_completion_code_strerror_r (cmd, /* cmd */
netfn, /* network function */
bytes_rs[1], /* completion code */
errbuf,
IPMI_OEM_ERR_BUFLEN) < 0)
{
pstdout_perror (state_data->pstate, "ipmi_completion_code_strerror_r");
snprintf (errbuf, IPMI_OEM_ERR_BUFLEN, "completion-code = 0x%X", bytes_rs[1]);
}
pstdout_fprintf (state_data->pstate,
stderr,
"%s:%s failed: %s\n",
state_data->prog_data->args->oem_id,
state_data->prog_data->args->oem_command,
errbuf);
return (-1);
}
return (0);
}
示例11: _set_pef_control
static config_err_t
_set_pef_control (pstdout_state_t pstate,
ipmi_ctx_t ipmi_ctx,
struct config_arguments *cmd_args,
struct pef_control *pc)
{
fiid_obj_t obj_cmd_rs = NULL;
config_err_t rv = CONFIG_ERR_FATAL_ERROR;
assert (ipmi_ctx);
assert (cmd_args);
assert (pc);
if (!(obj_cmd_rs = fiid_obj_create (tmpl_cmd_set_pef_configuration_parameters_rs)))
{
pstdout_fprintf (pstate,
stderr,
"fiid_obj_create: %s",
strerror (errno));
goto cleanup;
}
if (ipmi_cmd_set_pef_configuration_parameters_pef_control (ipmi_ctx,
pc->enable_pef,
pc->enable_pef_event_messages,
pc->enable_pef_startup_delay,
pc->enable_pef_alert_startup_delay,
obj_cmd_rs) < 0)
{
config_err_t ret;
if (cmd_args->common_args.debug)
pstdout_fprintf (pstate,
stderr,
"ipmi_cmd_set_pef_configuration_parameters_pef_control: %s\n",
ipmi_ctx_errormsg (ipmi_ctx));
if (config_is_config_param_non_fatal_error (ipmi_ctx,
obj_cmd_rs,
&ret))
rv = ret;
goto cleanup;
}
rv = CONFIG_ERR_SUCCESS;
cleanup:
if (obj_cmd_rs)
fiid_obj_destroy (obj_cmd_rs);
return (rv);
}
示例12: ipmi_oem_parse_ip_address
int
ipmi_oem_parse_ip_address (ipmi_oem_state_data_t *state_data,
unsigned int option_num,
const char *value,
uint32_t *ip_address)
{
unsigned int b1, b2, b3, b4;
uint32_t temp;
int ret;
assert (state_data);
assert (value);
assert (ip_address);
if ((ret = sscanf (value,
"%u.%u.%u.%u",
&b1,
&b2,
&b3,
&b4)) < 0)
{
pstdout_fprintf (state_data->pstate,
stderr,
"%s:%s invalid IP address '%s'\n",
state_data->prog_data->args->oem_id,
state_data->prog_data->args->oem_command,
state_data->prog_data->args->oem_options[option_num]);
return (-1);
}
if (ret != 4)
{
pstdout_fprintf (state_data->pstate,
stderr,
"%s:%s invalid IP address '%s'\n",
state_data->prog_data->args->oem_id,
state_data->prog_data->args->oem_command,
state_data->prog_data->args->oem_options[option_num]);
return (-1);
}
temp = 0;
temp |= (uint32_t)b1;
temp |= ((uint32_t)b2 << 8);
temp |= ((uint32_t)b3 << 16);
temp |= ((uint32_t)b4 << 24);
(*ip_address) = temp;
return (0);
}
示例13: pef_startup_delay_commit
config_err_t
pef_startup_delay_commit (pstdout_state_t pstate,
const struct config_keyvalue *kv,
ipmi_ctx_t ipmi_ctx,
struct config_arguments *cmd_args)
{
fiid_obj_t obj_cmd_rs = NULL;
config_err_t rv = CONFIG_ERR_FATAL_ERROR;
assert (kv);
assert (ipmi_ctx);
assert (cmd_args);
if (!(obj_cmd_rs = fiid_obj_create (tmpl_cmd_set_pef_configuration_parameters_rs)))
{
pstdout_fprintf (pstate,
stderr,
"fiid_obj_create: %s",
strerror (errno));
goto cleanup;
}
if (ipmi_cmd_set_pef_configuration_parameters_pef_startup_delay (ipmi_ctx,
atoi (kv->value_input),
obj_cmd_rs) < 0)
{
config_err_t ret;
if (cmd_args->common_args.debug)
pstdout_fprintf (pstate,
stderr,
"ipmi_cmd_set_pef_configuration_parameters_pef_startup_delay: %s\n",
ipmi_ctx_errormsg (ipmi_ctx));
if (config_is_config_param_non_fatal_error (ipmi_ctx,
obj_cmd_rs,
&ret))
rv = ret;
goto cleanup;
}
rv = CONFIG_ERR_SUCCESS;
cleanup:
if (obj_cmd_rs)
fiid_obj_destroy (obj_cmd_rs);
return (rv);
}
示例14: _set_front_panel_buttons
static ipmi_config_err_t
_set_front_panel_buttons (ipmi_config_state_data_t *state_data,
struct front_panel_buttons *data)
{
fiid_obj_t obj_cmd_rs = NULL;
ipmi_config_err_t rv = IPMI_CONFIG_ERR_FATAL_ERROR;
assert (state_data);
assert (data);
if (!(obj_cmd_rs = fiid_obj_create (tmpl_cmd_set_front_panel_enables_rs)))
{
pstdout_fprintf (state_data->pstate,
stderr,
"fiid_obj_create: %s\n",
strerror (errno));
goto cleanup;
}
if (ipmi_cmd_set_front_panel_enables (state_data->ipmi_ctx,
data->power_off,
data->reset,
data->diagnostic_interrupt,
data->standby,
obj_cmd_rs) < 0)
{
ipmi_config_err_t ret;
if (ipmi_errnum_is_non_fatal (state_data,
obj_cmd_rs,
&ret))
rv = ret;
if (rv == IPMI_CONFIG_ERR_FATAL_ERROR
|| state_data->prog_data->args->common_args.debug)
pstdout_fprintf (state_data->pstate,
stderr,
"ipmi_cmd_set_front_panel_enables: %s\n",
ipmi_ctx_errormsg (state_data->ipmi_ctx));
goto cleanup;
}
rv = IPMI_CONFIG_ERR_SUCCESS;
cleanup:
fiid_obj_destroy (obj_cmd_rs);
return (rv);
}
示例15: ipmi_oem_parse_string
int
ipmi_oem_parse_string (ipmi_oem_state_data_t *state_data,
unsigned int option_num,
const char *value,
uint8_t *string_length,
char *stringbuf,
unsigned int stringbuflen)
{
assert (state_data);
assert (value);
assert (string_length);
assert (stringbuf);
assert (stringbuflen);
if (strlen (value) > stringbuflen)
{
pstdout_fprintf (state_data->pstate,
stderr,
"%s:%s invalid OEM option argument '%s' : string length too long\n",
state_data->prog_data->args->oem_id,
state_data->prog_data->args->oem_command,
state_data->prog_data->args->oem_options[option_num]);
return (-1);
}
(*string_length) = strlen (value);
/* use memcpy, do not need NULL termination */
if ((*string_length))
memcpy (stringbuf,
value,
(*string_length));
return (0);
}