libopkg: implement lightweight package listing logic
[oweals/opkg-lede.git] / libbb / xreadlink.c
index 932e487a59d718093cb29f9d4967d8dc504772e8..29949d1ae96fbe06865fc4f4d2ff5df4a5468317 100644 (file)
 #include "libbb.h"
 
 extern char *xreadlink(const char *path)
-{                       
-       static const int GROWBY = 80; /* how large we will grow strings by */
+{
+       static const int GROWBY = 80;   /* how large we will grow strings by */
 
-       char *buf = NULL;   
+       char *buf = NULL;
        int bufsize = 0, readsize = 0;
 
        do {
                buf = xrealloc(buf, bufsize += GROWBY);
-               readsize = readlink(path, buf, bufsize); /* 1st try */
+               readsize = readlink(path, buf, bufsize);        /* 1st try */
                if (readsize == -1) {
-                   perror_msg("%s:%s", applet_name, path);
-                   return NULL;
+                       perror_msg("%s", path);
+                       free(buf);
+                       return NULL;
                }
-       }           
+       }
        while (bufsize < readsize + 1);
 
        buf[readsize] = '\0';
 
        return buf;
-}       
-
+}