summaryrefslogtreecommitdiff
path: root/src/shared/fileio.c
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-09-19 16:22:59 -0500
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-09-19 16:22:59 -0500
commit1e5413f74faa378172d556e5dec35ab55de16bbf (patch)
tree658e7a28f9b8c5181b109bce996f3d0a8b0529ae /src/shared/fileio.c
parent1864b0e39505cd44a98eee61c97916b86491c0b4 (diff)
Add more tests and fix capability logging
Diffstat (limited to 'src/shared/fileio.c')
-rw-r--r--src/shared/fileio.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/shared/fileio.c b/src/shared/fileio.c
index 01b803c82f..603a1c7b38 100644
--- a/src/shared/fileio.c
+++ b/src/shared/fileio.c
@@ -24,6 +24,7 @@
#include "util.h"
#include "strv.h"
#include "utf8.h"
+#include "ctype.h"
int write_string_to_file(FILE *f, const char *line) {
errno = 0;
@@ -672,16 +673,18 @@ int get_status_field(const char *filename, const char *pattern, char **field) {
return -ENOENT;
t += strlen(pattern);
- /* Also skip zeros, because when this is used for capabilities,
- * we don't want the zeros. This way the same capability set
- * always maps to the same string, irrespective of the total
- * capability set size. For other numbers it shouldn't matter.
- */
if (*t) {
- t += strspn(t, WHITESPACE "0");
+ t += strspn(t, " \t");
+
+ /* Also skip zeros, because when this is used for
+ * capabilities, we don't want the zeros. This way the
+ * same capability set always maps to the same string,
+ * irrespective of the total capability set size. For
+ * other numbers it shouldn't matter. */
+ t += strspn(t, "0");
/* Back off one char if there's nothing but whitespace
and zeros */
- if (!*t)
+ if (!*t || isspace(*t))
t --;
}