From: Ray Strode Date: Wed, 24 Mar 2010 18:59:14 +0000 (-0400) Subject: [key-file] Add support for comments X-Git-Tag: 0.8.1~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=50614ef5b346eec41e66b883258c4b9e9f648e0d;p=thirdparty%2Fplymouth.git [key-file] Add support for comments --- diff --git a/src/libply/ply-key-file.c b/src/libply/ply-key-file.c index bd8d22ec..3d029275 100644 --- a/src/libply/ply-key-file.c +++ b/src/libply/ply-key-file.c @@ -167,10 +167,27 @@ ply_key_file_load_group (ply_key_file_t *key_file, char *key; char *value; long offset; + int first_byte; key = NULL; value = NULL; + first_byte = fgetc (key_file->fp); + if (first_byte == '#') + { + char *line_to_toss; + size_t number_of_bytes; + + line_to_toss = NULL; + number_of_bytes = 0; + + getline (&line_to_toss, &number_of_bytes, + key_file->fp); + free (line_to_toss); + continue; + } + ungetc (first_byte, key_file->fp); + offset = ftell (key_file->fp); items_matched = fscanf (key_file->fp, " %a[^= \t\n] = %a[^\n] ", &key, &value); @@ -205,8 +222,26 @@ ply_key_file_load_groups (ply_key_file_t *key_file) do { + int first_byte; + ply_key_file_group_t *group; + first_byte = fgetc (key_file->fp); + if (first_byte == '#') + { + char *line_to_toss; + size_t number_of_bytes; + + line_to_toss = NULL; + number_of_bytes = 0; + + getline (&line_to_toss, &number_of_bytes, + key_file->fp); + free (line_to_toss); + continue; + } + ungetc (first_byte, key_file->fp); + items_matched = fscanf (key_file->fp, " [ %a[^]] ] ", &group_name); if (items_matched <= 0)