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:
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user