BUILD: stats: remove non portable getline() usage

getline() was used to read stats-file. However, this function is not
portable and may cause build issue on some systems. Replace it by
standard fgets().

No need to backport.
This commit is contained in:
Amaury Denoyelle 2024-05-17 14:50:12 +02:00
parent ef943c186d
commit fbc3d46b9f

View File

@ -351,8 +351,6 @@ void apply_stats_file(void)
FILE *file;
struct ist istline;
char *line = NULL;
ssize_t len;
size_t alloc_len;
int linenum;
if (!global.stats_file)
@ -370,15 +368,20 @@ void apply_stats_file(void)
goto out;
}
line = malloc(sizeof(char) * LINESIZE);
if (!line) {
ha_warning("config: Can't load stats file: line alloc error.\n");
goto out;
}
linenum = 0;
domain = STFILE_DOMAIN_UNSET;
while (1) {
len = getline(&line, &alloc_len, file);
if (len < 0)
if (!fgets(line, LINESIZE, file))
break;
++linenum;
istline = iststrip(ist2(line, len));
istline = iststrip(ist(line));
if (!istlen(istline))
continue;