diff options
author | Roland McGrath <roland@gnu.org> | 2001-12-29 00:31:52 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2001-12-29 00:31:52 +0000 |
commit | e251acc12f50473729daa7c1b1890f1c050063c0 (patch) | |
tree | 88028e6999f09108f42a3a378459d07b50e0ed21 /libstore/create.c | |
parent | 1d751a7a5810c6b1bdf4557dfb8bdfdb27405fea (diff) |
2001-12-26 Roland McGrath <roland@frob.com>
* unknown.c: New file.
* Makefile (SRCS): Add it.
* store.h (store_unknown_class, store_unknown_decode): Declare them.
* create.c (store_create): If store_decode fails with EINVAL,
and we were called with the STORE_NO_FILEIO flag bit set,
then use store_unknown_decode.
Diffstat (limited to 'libstore/create.c')
-rw-r--r-- | libstore/create.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libstore/create.c b/libstore/create.c index 71a4c62e..010a053e 100644 --- a/libstore/create.c +++ b/libstore/create.c @@ -1,7 +1,7 @@ /* Store creation - Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. - Written by Miles Bader <miles@gnu.ai.mit.edu> + Copyright (C) 1995,96,97,2001 Free Software Foundation, Inc. + Written by Miles Bader <miles@gnu.org> This file is part of the GNU Hurd. The GNU Hurd is free software; you can redistribute it and/or @@ -65,6 +65,9 @@ store_create (file_t source, int flags, if (err) store_free (*store); } + else if (err == EINVAL && (flags &~ STORE_INACTIVE) == STORE_NO_FILEIO) + /* Open a generic "unknown" store that can regurgitate this encoding. */ + err = store_unknown_decode (&enc, classes, store); store_enc_dealloc (&enc); |