chiark / gitweb /
util: modernize readlink_malloc() a bit
authorLennart Poettering <lennart@poettering.net>
Tue, 11 Feb 2014 15:45:35 +0000 (16:45 +0100)
committerLennart Poettering <lennart@poettering.net>
Tue, 11 Feb 2014 16:16:08 +0000 (17:16 +0100)
src/shared/util.c

index 21edd3ac2f38ab47e5c3453e626f4171ba557d72..9be11f5605c829fa7016bffd07fe36e88ac1e6dc 100644 (file)
@@ -761,28 +761,31 @@ char *strappend(const char *s, const char *suffix) {
         return strnappend(s, suffix, suffix ? strlen(suffix) : 0);
 }
 
-int readlink_malloc(const char *p, char **r) {
+int readlink_malloc(const char *p, char **ret) {
         size_t l = 100;
+        int r;
 
         assert(p);
-        assert(r);
+        assert(ret);
 
         for (;;) {
                 char *c;
                 ssize_t n;
 
-                if (!(c = new(char, l)))
+                c = new(char, l);
+                if (!c)
                         return -ENOMEM;
 
-                if ((n = readlink(p, c, l-1)) < 0) {
-                        int ret = -errno;
+                n = readlink(p, c, l-1);
+                if (n < 0) {
+                        r = -errno;
                         free(c);
-                        return ret;
+                        return r;
                 }
 
                 if ((size_t) n < l-1) {
                         c[n] = 0;
-                        *r = c;
+                        *ret = c;
                         return 0;
                 }