1
1

If no MCA verbose variable was set, default to stderr output

This commit was SVN r501.
Этот коммит содержится в:
Jeff Squyres 2004-01-20 23:22:44 +00:00
родитель 746c039024
Коммит a793e9f4cf

Просмотреть файл

@ -47,9 +47,11 @@ int mca_base_open(void)
mca_base_param_lookup_string(param_index, &value);
memset(&lds, 0, sizeof(lds));
parse_verbose(value, &lds);
set_defaults(&lds);
if (NULL != value) {
parse_verbose(value, &lds);
} else {
set_defaults(&lds);
}
lam_output_reopen(0, &lds);
lam_output_verbose(0, 5, " Opening");
@ -72,6 +74,7 @@ static void set_defaults(lam_output_stream_t *lds)
lds->lds_syslog_priority = LOG_INFO;
lds->lds_syslog_ident = "lam";
lds->lds_want_stdout = false;
lds->lds_want_stderr = true;
lds->lds_want_file = false;
lds->lds_want_file_append = false;
lds->lds_file_suffix = NULL;
@ -84,8 +87,14 @@ static void set_defaults(lam_output_stream_t *lds)
*/
static void parse_verbose(char *e, lam_output_stream_t *lds)
{
char *edup = strdup(e);
char *ptr = edup, *next;
char *edup;
char *ptr, *next;
if (NULL == e)
return;
edup = strdup(e);
ptr = edup;
/* Now parse the environment variable */
@ -94,8 +103,9 @@ static void parse_verbose(char *e, lam_output_stream_t *lds)
if (NULL != next)
*next = '\0';
if (0 == strcasecmp(ptr, "syslog"))
if (0 == strcasecmp(ptr, "syslog")) {
lds->lds_want_syslog = true;
}
else if (strncasecmp(ptr, "syslogpri:", 10) == 0) {
lds->lds_want_syslog = true;
if (strcasecmp(ptr + 10, "notice") == 0)
@ -109,21 +119,23 @@ static void parse_verbose(char *e, lam_output_stream_t *lds)
lds->lds_syslog_ident = ptr + 9;
}
else if (strcasecmp(ptr, "stdout") == 0)
else if (strcasecmp(ptr, "stdout") == 0) {
lds->lds_want_stdout = true;
else if (strcasecmp(ptr, "stderr") == 0)
} else if (strcasecmp(ptr, "stderr") == 0) {
lds->lds_want_stderr = true;
}
else if (strcasecmp(ptr, "file") == 0)
else if (strcasecmp(ptr, "file") == 0) {
lds->lds_want_file = true;
else if (strncasecmp(ptr, "file:", 5) == 0) {
} else if (strncasecmp(ptr, "file:", 5) == 0) {
lds->lds_want_file = true;
lds->lds_file_suffix = ptr + 5;
} else if (strcasecmp(ptr, "fileappend") == 0) {
lds->lds_want_file = true;
lds->lds_want_file_append = 1;
}
} else if (strncasecmp(ptr, "level", 5) == 0) {
else if (strncasecmp(ptr, "level", 5) == 0) {
lds->lds_verbose_level = 0;
if (ptr[5] == ':')
lds->lds_verbose_level = atoi(ptr + 6);
@ -134,5 +146,7 @@ static void parse_verbose(char *e, lam_output_stream_t *lds)
ptr = next + 1;
}
/* All done */
LAM_FREE(edup);
}