.TH LC_HANDLE_TYPE 3 "25 Oct 04" "@PACKAGE_STRING@" .SH NAME lc_handle_type \- Convert string representation of a value to its correct type .SH SYNOPSIS .B #include .sp .BI "int lc_handle_type(lc_var_type_t " type ", const char *" value ", void *" data ");" .SH DESCRIPTION .BR lc_handle_type (3) converts the string .I value to the correct type specified by the .I type parameter. The result is stored in the memory region passed as .IR data , which should be of the correct type. For possible values for .I type and the corresponding .I data type, see the .BR lc_register_var (3) man page. .SH "RETURN VALUE" On success 0 is returned, otherwise -1 is returned. The memory pointed to by .I data may be altered in either case. .SH EXAMPLE .nf #include #include #include int callback_size(const char *shortvar, const char *var, const char *arguments, const char *value, lc_flags_t flags, void *extra) { size_t size; int lc_ht_ret; if (value == NULL) { lc_seterrstr("You must specify an argument to \\ Size."); return(LC_CBRET_ERROR); } lc_ht_ret = lc_handle_type(LC_VAR_SIZE_SIZE_T, value, &size); if (lc_ht_ret != 0) { lc_seterrstr("Invalid size specified."); return(LC_CBRET_ERROR); } printf("Size: %lu\\n", (unsigned long) size); return(LC_CBRET_OKAY); } int main(int argc, char **argv) { int lc_rc_ret, lc_p_ret; lc_rc_ret = lc_register_callback("Size", 0, LC_VAR_SIZE_SIZE_T, callback_size, NULL); if (lc_rc_ret != 0) { fprintf(stderr, "Error registering callback.\\n"); return(EXIT_FAILURE); } lc_p_ret = lc_process(argc, argv, "example", LC_CONF_APACHE, NULL); lc_cleanup(); if (lc_p_ret != 0) { fprintf(stderr, "Error processing configuration: \\ %s\\n", lc_geterrstr()); return(EXIT_FAILURE); } return(EXIT_SUCCESS); } .fi .SH "SEE ALSO" .BR libconfig (3), .BR lc_register_var (3), .BR lc_register_callback (3), .BR lc_geterrno (3), .BR lc_geterrstr (3), .BR lc_seterrstr (3), .BR lc_process (3), .BR lc_process_file (3), .BR lc_cleanup (3)