summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSusant Sahani <ssahani@gmail.com>2015-11-01 03:36:07 +0530
committerSusant Sahani <ssahani@gmail.com>2015-11-01 03:36:27 +0530
commit75a8fd6ac8a5c7c2e8b8d9eb066ccd477b2e1eb5 (patch)
tree638542811020c9ab9c796a8f3245ad2a01806c6f
parent534e8f89d6367cd0e9e17fff67880fb430071d01 (diff)
downloadsystemd-75a8fd6ac8a5c7c2e8b8d9eb066ccd477b2e1eb5.tar.gz
machine: : port to extract_first_word
-rw-r--r--src/machine/machine.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/machine/machine.c b/src/machine/machine.c
index fa6b70f788..df8391c996 100644
--- a/src/machine/machine.c
+++ b/src/machine/machine.c
@@ -42,6 +42,7 @@
#include "terminal-util.h"
#include "unit-name.h"
#include "util.h"
+#include "extract-word.h"
Machine* machine_new(Manager *manager, MachineClass class, const char *name) {
Machine *m;
@@ -312,17 +313,23 @@ int machine_load(Machine *m) {
}
if (netif) {
- size_t l, allocated = 0, nr = 0;
- const char *word, *state;
+ size_t allocated = 0, nr = 0;
+ const char *p;
int *ni = NULL;
- FOREACH_WORD(word, l, netif, state) {
- char buf[l+1];
+ p = netif;
+ for(;;) {
+ _cleanup_free_ char *word = NULL;
int ifi;
- *(char*) (mempcpy(buf, word, l)) = 0;
+ r = extract_first_word(&p, &word, NULL, 0);
+ if (r < 0)
+ return log_error_errno(r, "Failed to parse NETIF: %s", netif);
- if (safe_atoi(buf, &ifi) < 0)
+ if (r == 0)
+ break;
+
+ if (safe_atoi(word, &ifi) < 0)
continue;
if (ifi <= 0)
continue;