mount_root: convert to ulog() api
[project/fstools.git] / libfstools / find.c
index 71548f5..4c69d73 100644 (file)
@@ -36,6 +36,9 @@ find_overlay_mount(char *overlay)
        return ret;
 }
 
+/*
+ * Find path of a device mounted to the given point.
+ */
 char*
 find_mount(char *mp)
 {
@@ -53,6 +56,7 @@ find_mount(char *mp)
                        fclose(fp);
                        return NULL;
                }
+               *t = '\0';
                t++;
                s = strstr(t, " ");
                if (!s) {
@@ -63,7 +67,7 @@ find_mount(char *mp)
 
                if (!strcmp(t, mp)) {
                        fclose(fp);
-                       return t;
+                       return line;
                }
        }
 
@@ -73,7 +77,7 @@ find_mount(char *mp)
 }
 
 char*
-find_mount_point(char *block, char *fs)
+find_mount_point(char *block, int mtd_only)
 {
        FILE *fp = fopen("/proc/mounts", "r");
        static char line[256];
@@ -96,7 +100,9 @@ find_mount_point(char *block, char *fs)
                        *t = '\0';
                        t++;
 
-                       if (fs && strncmp(t, fs, strlen(fs))) {
+                       if (mtd_only &&
+                           strncmp(t, "jffs2", 5) &&
+                           strncmp(t, "ubifs", 5)) {
                                fclose(fp);
                                fprintf(stderr, "block is mounted with wrong fs\n");
                                return NULL;