2
0
mirror of https://github.com/openvswitch/ovs synced 2025-10-27 15:18:06 +00:00

dynamic-string: New function ds_get_preprocessed_line().

This commit adds one user.  It will be useful elsewhere in an upcoming
commit.
This commit is contained in:
Ben Pfaff
2011-03-11 11:52:12 -08:00
parent 4ffd1b437c
commit dd8101bc53
3 changed files with 35 additions and 22 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2008, 2009, 2010 Nicira Networks.
* Copyright (c) 2008, 2009, 2010, 2011 Nicira Networks.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -207,6 +207,32 @@ ds_get_line(struct ds *ds, FILE *file)
}
}
/* Reads a line from 'file' into 'ds', clearing anything initially in 'ds'.
* Deletes comments introduced by "#" and skips lines that contains only white
* space (after deleting comments).
*
* Returns 0 if successful, EOF if no non-blank line was found. */
int
ds_get_preprocessed_line(struct ds *ds, FILE *file)
{
while (!ds_get_line(ds, file)) {
char *line = ds_cstr(ds);
char *comment;
/* Delete comments. */
comment = strchr(line, '#');
if (comment) {
*comment = '\0';
}
/* Return successfully unless the line is all spaces. */
if (line[strspn(line, " \t\n")] != '\0') {
return 0;
}
}
return EOF;
}
char *
ds_cstr(struct ds *ds)
{