It seems that the bug is in libstore, not in parted. When store_typed_open doesn't find ":" character, it calls store_open. Unfortunately, it does it incorrectly, and, as a result, store_open is not called as intended. There is second bug somewhere in store_find_class, called by store_typed_open. Some dlsym magic is used to find store class. I'm investigating what exactly goes wrong (resulting in SIGSEGV) when the store class is not found. A patch will follow if I find out.
I send a simple patch for the first bug mentioned.
Regards -- Ognyan Kulev <[EMAIL PROTECTED]>, "\"Programmer\"" 7D9F 66E6 68B7 A62B 0FCF EB04 80BF 3A8C A252 9782
2003-06-04 Ognyan Kulev <[EMAIL PROTECTED]>
* typed.c (store_typed_open): Stores specified as file names are
correctly detected and passed to store_open.
--- typed.c.~1.6.~ 2002-03-14 23:10:01.000000000 +0200
+++ typed.c 2003-06-04 22:34:30.000000000 +0300
@@ -111,11 +111,11 @@
struct store **store)
{
const struct store_class *cl;
- const char *clname_end = strchrnul (name, ':');
+ const char *clname_end = strchr (name, ':');
- if (clname_end == name)
+ if (clname_end == 0)
/* Open NAME with store_open. */
- return store_open (name + 1, flags, classes, store);
+ return store_open (name, flags, classes, store);
/* Try to find an existing class by the given name. */
cl = store_find_class (name, clname_end, classes);
_______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd
