From 4027e5ee445996f4455b74f7212cf3dc98cc6fe4 Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Mon, 21 Apr 2014 18:55:58 -0300 Subject: goto considered harmful and confuses cppcheck. --- ProcessList.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'ProcessList.c') diff --git a/ProcessList.c b/ProcessList.c index 10ea25a1..1d92abb6 100644 --- a/ProcessList.c +++ b/ProcessList.c @@ -182,17 +182,17 @@ const char *ProcessList_treeStrUtf8[TREE_STR_COUNT] = { static ssize_t xread(int fd, void *buf, size_t count) { // Read some bytes. Retry on EINTR and when we don't get as many bytes as we requested. size_t alreadyRead = 0; - start:; - ssize_t res = read(fd, buf, count); - if (res == -1 && errno == EINTR) goto start; - if (res > 0) { - buf = ((char*)buf)+res; - count -= res; - alreadyRead += res; + for(;;) { + ssize_t res = read(fd, buf, count); + if (res == -1 && errno == EINTR) continue; + if (res > 0) { + buf = ((char*)buf)+res; + count -= res; + alreadyRead += res; + } + if (res == -1) return -1; + if (count == 0 || res == 0) return alreadyRead; } - if (res == -1) return -1; - if (count == 0 || res == 0) return alreadyRead; - goto start; } ProcessList* ProcessList_new(UsersTable* usersTable, Hashtable* pidWhiteList) { -- cgit v1.2.3