+ }
+#else
+ if (strcmp(filesystemType, "auto") == 0) {
+ char buf[255];
+ FILE *f = xfopen("/proc/filesystems", "r");
+
+ while (fgets(buf, sizeof(buf), f) != NULL) {
+ filesystemType = buf;
+ if (*filesystemType == '\t') { // Not a nodev filesystem
+
+ // Add NULL termination to each line
+ while (*filesystemType && *filesystemType != '\n')
+ filesystemType++;
+ *filesystemType = '\0';
+
+ filesystemType = buf;
+ filesystemType++; // hop past tab
+
+ status = do_mount(blockDevice, directory, filesystemType,
+ flags | MS_MGC_VAL, string_flags,
+ useMtab, fakeIt, mtab_opts, mount_all);
+ if (status)
+ break;
+ }
+ }
+ fclose(f);
+ }
+#endif
+ else {