The path mangling code does the wrong thing when the prefix doesn't exist.
For example path("/.") still returns "/usr/gnemul/qemu-arm", even if the
latter doesn't exist (commonly the case when using a chroot).
Patch below fixes this by setting base to NULL if the prefix contains no
files.
Paul
Index: path.c
===================================================================
RCS file: /cvsroot/qemu/qemu/linux-user/path.c,v
retrieving revision 1.1
diff -u -p -r1.1 path.c
--- path.c 11 Apr 2003 00:15:13 -0000 1.1
+++ path.c 11 Sep 2004 17:12:14 -0000
@@ -101,7 +101,11 @@ void init_paths(const char *prefix)
base = new_entry("", NULL, prefix+1);
base = add_dir_maybe(base);
- set_parents(base, base);
+ if (base->num_entries == 0) {
+ free (base);
+ base = NULL;
+ } else
+ set_parents(base, base);
}
/* FIXME: Doesn't handle DIR/.. where DIR is not in emulated dir. */
_______________________________________________
Qemu-devel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/qemu-devel