#include <unistd.h>
#include <fcntl.h>
#include <time.h>
+#include <ctype.h>
#ifdef HAVE_GLOB_H
# include <glob.h>
#endif
/* @UNSAFE: line is modified */
/* skip whitespace */
- while (IS_WHITE(*line))
+ while (i_isspace(*line))
line++;
/* ignore comments or empty lines */
if (*p == '\0')
break;
} else if (*p == '#') {
- if (!IS_WHITE(p[-1])) {
+ if (!i_isspace(p[-1])) {
i_warning("Configuration file %s line %u: "
"Ambiguous '#' character in line, treating it as comment. "
"Add a space before it to remove this warning.",
/* remove whitespace from end of line */
len = strlen(line);
while (len >= 1) {
- if(!IS_WHITE(line[len-1]))
+ if(!i_isspace(line[len-1]))
break;
len--;
}
/* continues in next line */
len--;
while (len >= 1) {
- if(!IS_WHITE(line[len-1]))
+ if(!i_isspace(line[len-1]))
break;
len--;
}
line++;
}
} else {
- while (!IS_WHITE(*line) && *line != '\0' && *line != '=')
+ while (!i_isspace(*line) && *line != '\0' && *line != '=')
line++;
}
- if (IS_WHITE(*line)) {
+ if (i_isspace(*line)) {
*line++ = '\0';
- while (IS_WHITE(*line)) line++;
+ while (i_isspace(*line)) line++;
}
config_line_r->key = key;
config_line_r->value = line;
if (*line == '=') {
/* a) */
*line++ = '\0';
- while (IS_WHITE(*line)) line++;
+ while (i_isspace(*line)) line++;
if (*line == '<') {
- while (IS_WHITE(line[1])) line++;
+ while (i_isspace(line[1])) line++;
config_line_r->value = line + 1;
config_line_r->type = CONFIG_LINE_TYPE_KEYFILE;
return;
} else if (strcmp(key, "group") == 0) {
/* group @group name { */
config_line_r->key = line;
- while (!IS_WHITE(*line) && *line != '\0')
+ while (!i_isspace(*line) && *line != '\0')
line++;
if (*line == '\0') {
config_line_r->value = "Expecting group name";
return;
}
*line++ = '\0';
- while (IS_WHITE(*line))
+ while (i_isspace(*line))
line++;
config_line_r->value = line;
- while (!IS_WHITE(*line) && *line != '\0')
+ while (!i_isspace(*line) && *line != '\0')
line++;
if (*line == '\0') {
config_line_r->value = "Expecting '{'";
return;
}
*line++ = '\0';
- while (IS_WHITE(*line))
+ while (i_isspace(*line))
line++;
if (*line != '{') {
config_line_r->value = "Expecting '{'";
/* get section name */
if (*line != '"') {
config_line_r->value = line;
- while (!IS_WHITE(*line) && *line != '\0')
+ while (!i_isspace(*line) && *line != '\0')
line++;
if (*line != '\0') {
*line++ = '\0';
- while (IS_WHITE(*line))
+ while (i_isspace(*line))
line++;
}
} else {
line++;
if (*line == '"') {
*line++ = '\0';
- while (IS_WHITE(*line))
+ while (i_isspace(*line))
line++;
config_line_r->value = str_unescape(value);
config_line_r->value_quoted = TRUE;
str_append_c(str, ' ');
/* find next token */
- while (*var_end != '\0' && IS_WHITE(*var_end)) var_end++;
+ while (*var_end != '\0' && i_isspace(*var_end)) var_end++;
value = var_end;
- while (*var_end != '\0' && !IS_WHITE(*var_end)) var_end++;
+ while (*var_end != '\0' && !i_isspace(*var_end)) var_end++;
}
return 0;