summaryrefslogtreecommitdiff
path: root/libstore/create.c
diff options
context:
space:
mode:
authorMiles Bader <miles@gnu.org>1996-05-21 23:59:26 +0000
committerMiles Bader <miles@gnu.org>1996-05-21 23:59:26 +0000
commit9811825d556184f5fd207361eb59012ad622ed03 (patch)
tree675a26afbf05afb9c8f97e5348f4bec3c43de59a /libstore/create.c
parentfb87f7a90e28ed4ff8b53e7153714225fda8b5c1 (diff)
(store_create): Add FLAGS & CLASSES params.
Diffstat (limited to 'libstore/create.c')
-rw-r--r--libstore/create.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/libstore/create.c b/libstore/create.c
index f912dab7..e332e85c 100644
--- a/libstore/create.c
+++ b/libstore/create.c
@@ -25,9 +25,13 @@
#include "store.h"
/* Return a new store in STORE, which refers to the storage underlying
- SOURCE. A reference to SOURCE is created (but may be destroyed with
+ SOURCE. CLASSES is used to select classes specified by the provider; if
+ it is 0, STORE_STD_CLASSES is used. FLAGS is set with store_set_flags. A
+ reference to SOURCE is created (but may be destroyed with
store_close_source). */
-error_t store_create (file_t source, struct store **store)
+error_t
+store_create (file_t source, int flags, struct store_class *classes,
+ struct store **store)
{
error_t err;
struct store_enc enc;
@@ -47,7 +51,10 @@ error_t store_create (file_t source, struct store **store)
if (err)
return err;
- err = store_decode (&enc, store);
+ err = store_decode (&enc, classes, store);
+
+ if (!err && flags)
+ store_set_flags (*store, flags);
store_enc_dealloc (&enc);