38 #include "clientpipe.h" 44 static const char *module_str =
"verbosity_cmd";
57 client_printf(sockfd,
"Set verbosity.\n\n" 62 handles(
const char *cmd, ssize_t n)
73 char buf[ODS_SE_MAXLINE];
76 char *endptr, *errorstr;
77 (void)n; (void)dbconn;
79 strncpy(buf, cmd,
sizeof(buf));
80 buf[
sizeof(buf)-1] =
'\0';
81 argc = ods_str_explode(buf, NARGV, argv);
85 client_printf(sockfd,
"Current verbosity is set to %d.\n",
97 }
else if (argc == 2) {
99 val = strtol(argv[1], &endptr, 10);
100 if ((errno == ERANGE && (val == LONG_MAX || val == LONG_MIN))
101 || (errno != 0 && val == 0)) {
102 errorstr = strerror(errno);
103 client_printf(sockfd,
"Error parsing verbosity value: %s.\n", errorstr);
106 if (endptr == argv[1]) {
107 client_printf(sockfd,
"Error parsing verbosity value: No digits were found.\n");
111 client_printf(sockfd,
"Error parsing verbosity value: must be >= 0.\n");
114 ods_log_assert(engine);
115 ods_log_assert(engine->
config);
117 client_printf(sockfd,
"Verbosity level set to %i.\n", val);
120 client_printf(sockfd,
"Too many arguments.\n");
void ods_log_debug(const char *format,...)
struct cmd_func_block * verbosity_funcblock(void)
int(* run)(int sockfd, struct engine_struct *engine, const char *cmd, ssize_t n, db_connection_t *dbconn)
void(* usage)(int sockfd)
const char * log_filename
engineconfig_type * config
int(* handles)(const char *cmd, ssize_t n)