Tito, farmatito at tiscali dot it writes:
No binary (build failed)
—
(log yok)
| @@ -130,7 +130,7 @@ extern int df_main(int argc, char **argv) | |
| } else if (strcmp(device, "/dev/root") == 0) { | |
| /* Adjusts device to be the real root device, | |
| * or leaves device alone if it can't find it */ | |
| - | if ((device = find_real_root_device_name(device)) == NULL) { |
| + | if ((device = find_real_root_device_name()) == NULL) { |
| goto SET_ERROR; | |
| } | |
| } | |
| @@ -134,7 +134,7 @@ extern void write_mtab(char* blockDevice, char* directory, | |
| char* filesystemType, long flags, char* string_flags); | |
| extern void erase_mtab(const char * name); | |
| extern long *find_pid_by_name( const char* pidName); | |
| - | extern char *find_real_root_device_name(const char* name); |
| + | extern char *find_real_root_device_name(void); |
| extern char *bb_get_line_from_file(FILE *file); | |
| extern char *bb_get_chomped_line_from_file(FILE *file); | |
| extern int bb_copyfd_size(int fd1, int fd2, const off_t size); | |
| @@ -27,7 +27,7 @@ | |
| - | extern char *find_real_root_device_name(const char* name) |
| + | extern char *find_real_root_device_name(void) |
| { | |
| DIR *dir; | |
| struct dirent *entry; | |
| @@ -54,7 +54,11 @@ extern char *find_real_root_device_name(const char* name) | |
| * would get a false positive on ".." */ | |
| if (myname[0] == '.' && myname[1] == '.' && !myname[2]) | |
| continue; | |
| - | |
| + | #ifdef CONFIG_FEATURE_DEVFS |
| + | /* if there is a link named /dev/root skip that too */ |
| + | if (strcmp(myname, "root")==0) |
| + | continue; |
| + | #endif |
| fileName = concat_path_file("/dev", myname); | |
| /* Some char devices have the same dev_t as block | |
| @@ -345,7 +345,7 @@ static void show_mounts(char *onlytype) | |
| if (strcmp(blockDevice, "rootfs") == 0) { | |
| continue; | |
| } else if (strcmp(blockDevice, "/dev/root") == 0) { | |
| - | blockDevice = find_real_root_device_name(blockDevice); |
| + | blockDevice = find_real_root_device_name(); |
| } | |
| if (!onlytype || (strcmp(m->mnt_type, onlytype) == 0)) { | |
| printf("%s on %s type %s (%s)\n", blockDevice, m->mnt_dir, | |
| @@ -115,7 +115,7 @@ static char *mtab_getinfo(const char *match, const char which) | |
| } else if (strcmp(cur->device, "/dev/root") == 0) { | |
| /* Adjusts device to be the real root device, | |
| * or leaves device alone if it can't find it */ | |
| - | cur->device = find_real_root_device_name(cur->device); |
| + | cur->device = find_real_root_device_name(); |
| } | |
| #endif | |
| return cur->device; | |