summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2014-04-21 18:55:58 -0300
committerHisham Muhammad <hisham@gobolinux.org>2014-04-21 18:55:58 -0300
commit4027e5ee445996f4455b74f7212cf3dc98cc6fe4 (patch)
treef98c51ca4a2948cb4eb13d49f4b5d2f7f2b2a15e
parent2f0a4b3d3a6e6fefd06c7973e54bd7da69dfa0e9 (diff)
goto considered harmful and confuses cppcheck.
-rw-r--r--ProcessList.c20
1 files changed, 10 insertions, 10 deletions
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) {

© 2014-2024 Faster IT GmbH | imprint | privacy policy