1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-12-04 14:46:46 -05:00

Fix log rotation

See https://github.com/profanity-im/profanity/issues/1518
It has a good explanation of what happened:

```
Apparently, the _rotate_log_file function tried to extract user-provided
name from currently used mainlogfile and restart logging to the same
place after rotation, but currently this is interpreted as a full path
instead. As I understand, the log rotation is no longer done with
user-provided paths at all so this should be simply skipped altogether
now as passing any non-NULL value is interpreted as user-provided.
Replacing start with NULL appears to fix it for me.
```

In log_msg() we only rotate the log if not user_provided_log.

https://github.com/profanity-im/profanity/pull/1455 changed the
behaviour from user defined filename in the log dir to using full path.
This commit is contained in:
Michael Vetter 2021-06-28 17:41:48 +02:00
parent a4230603d3
commit 482f8955d7

View File

@ -246,18 +246,12 @@ _rotate_log_file(void)
break;
}
char* lf = strdup(mainlogfile);
char* start = strrchr(lf, '/') + 1;
char* end = strstr(start, ".log");
*end = '\0';
log_close();
rename(log_file, log_file_new);
log_init(log_get_filter(), start);
log_init(log_get_filter(), log_file);
free(lf);
free(log_file_new);
free(log_file);
log_info("Log has been rotated");