ServerNameIsIP = !*slash;
+ /*
+ * If the ErrorLog value contains "%s", close the current log file (if any)
+ * so that the proper ServerName value is used when logging.
+ */
+
+ if (ErrorLog && strstr(ErrorLog, "%s") && ErrorFile && ErrorFile != LogStderr)
+ {
+ cupsFileClose(ErrorFile);
+ ErrorFile = NULL;
+ }
+
/*
* Make sure ServerAdmin is initialized...
*/
cupsConcatString(filename, "/", sizeof(filename));
}
else
+ {
filename[0] = '\0';
+ }
- for (logptr = logname, ptr = filename + strlen(filename);
- *logptr && ptr < (filename + sizeof(filename) - 1);
- logptr ++)
+ for (logptr = logname, ptr = filename + strlen(filename); *logptr && ptr < (filename + sizeof(filename) - 1); logptr ++)
+ {
if (*logptr == '%')
{
/*
* Insert the server name...
*/
- cupsCopyString(ptr, ServerName, sizeof(filename) - (size_t)(ptr - filename));
+ cupsCopyString(ptr, ServerName ? ServerName : "localhost", sizeof(filename) - (size_t)(ptr - filename));
ptr += strlen(ptr);
}
else
}
}
else
+ {
*ptr++ = *logptr;
+ }
+ }
*ptr = '\0';
}