-const uschar *ss = *log_file_path ? log_file_path : US LOG_FILE_PATH;
-
-if (*ss)
- for (logging_mode = 0;
- s = string_nextinlist(&ss, &sep, log_buffer, LOG_BUFFER_SIZE); )
- {
- if (Ustrcmp(s, "syslog") == 0)
- logging_mode |= LOG_MODE_SYSLOG;
- else if (!(logging_mode & LOG_MODE_FILE)) /* no file yet */
- {
- logging_mode |= LOG_MODE_FILE;
- if (*s) file_path = string_copy(s); /* If a non-empty path is given, use it */
- }
- else if (multiple) *multiple = TRUE;
- }
-else
- logging_mode = LOG_MODE_FILE;
-
-/* Set up the ultimate default if necessary. */
-
-if (logging_mode & LOG_MODE_FILE && !*file_path)
- if (LOG_FILE_PATH[0])
- {
- /* If we still do not have a file_path, we take
- the first non-empty, non-syslog item in LOG_FILE_PATH, if there is
- one. If there is no such item, use the ultimate default in the
- spool directory. */
-
- for (ss = US LOG_FILE_PATH;
- s = string_nextinlist(&ss, &sep, log_buffer, LOG_BUFFER_SIZE);)
- {
- if (*s != '/') continue;
- file_path = string_copy(s);
- }
- }
- else file_path = string_sprintf("%s/log/%%slog", spool_directory);
+uschar *t;
+const uschar *tt = US LOG_FILE_PATH;
+while ((t = string_nextinlist(&tt, &sep, log_buffer, LOG_BUFFER_SIZE)))
+ {
+ if (Ustrcmp(t, "syslog") == 0 || t[0] == 0) continue;
+ file_path = string_copy(t);
+ break;
+ }