| 1987 | } |
| 1988 | |
| 1989 | AP_DECLARE(const char *) ap_parse_log_level(const char *str, int *val) |
| 1990 | { |
| 1991 | const char *err = "Log level keyword must be one of emerg/alert/crit/error/" |
| 1992 | "warn/notice/info/debug/trace1/.../trace8"; |
| 1993 | int i = 0; |
| 1994 | |
| 1995 | if (str == NULL) |
| 1996 | return err; |
| 1997 | |
| 1998 | while (priorities[i].t_name != NULL) { |
| 1999 | if (!strcasecmp(str, priorities[i].t_name)) { |
| 2000 | *val = priorities[i].t_val; |
| 2001 | return NULL; |
| 2002 | } |
| 2003 | i++; |
| 2004 | } |
| 2005 | return err; |
| 2006 | } |
| 2007 | |
| 2008 | AP_IMPLEMENT_HOOK_VOID(error_log, |
| 2009 | (const ap_errorlog_info *info, const char *errstr), |
no outgoing calls
no test coverage detected