libfstools: fix find_mount to return device path
authorRafał Miłecki <zajec5@gmail.com>
Tue, 23 Dec 2014 11:56:52 +0000 (12:56 +0100)
committerFelix Fietkau <nbd@openwrt.org>
Tue, 6 Jan 2015 11:07:44 +0000 (12:07 +0100)
So far we were returning mount point which doesn't make sense for a
function that already takes mount point as an argument.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
libfstools/find.c

index b50b633..4c69d73 100644 (file)
@@ -36,6 +36,9 @@ find_overlay_mount(char *overlay)
        return ret;
 }
 
        return ret;
 }
 
+/*
+ * Find path of a device mounted to the given point.
+ */
 char*
 find_mount(char *mp)
 {
 char*
 find_mount(char *mp)
 {
@@ -53,6 +56,7 @@ find_mount(char *mp)
                        fclose(fp);
                        return NULL;
                }
                        fclose(fp);
                        return NULL;
                }
+               *t = '\0';
                t++;
                s = strstr(t, " ");
                if (!s) {
                t++;
                s = strstr(t, " ");
                if (!s) {
@@ -63,7 +67,7 @@ find_mount(char *mp)
 
                if (!strcmp(t, mp)) {
                        fclose(fp);
 
                if (!strcmp(t, mp)) {
                        fclose(fp);
-                       return t;
+                       return line;
                }
        }
 
                }
        }