Browse Source

kdb: faux_error_t is optional external object for kdb_t

Serj Kalichev 2 years ago
parent
commit
d672b4a837
2 changed files with 3 additions and 2 deletions
  1. 1 0
      klish/kdb.h
  2. 2 2
      klish/kscheme/kdb.c

+ 1 - 0
klish/kdb.h

@@ -63,6 +63,7 @@ uint8_t kdb_minor(const kdb_t *db);
 void *kdb_udata(const kdb_t *db);
 bool_t kdb_set_udata(kdb_t *db, void *udata);
 faux_error_t *kdb_error(const kdb_t *db);
+bool_t kdb_set_error(kdb_t *db, faux_error_t *error);
 bool_t kdb_load_plugin(kdb_t *db);
 bool_t kdb_init(kdb_t *db);
 bool_t kdb_fini(kdb_t *db);

+ 2 - 2
klish/kscheme/kdb.c

@@ -55,6 +55,7 @@ KSET(db, void *, udata);
 
 // faux_error_t object (list of errors)
 KGET(db, faux_error_t *, error);
+KSET(db, faux_error_t *, error);
 
 
 kdb_t *kdb_new(const char *name, const char *file)
@@ -81,7 +82,7 @@ kdb_t *kdb_new(const char *name, const char *file)
 	db->load_fn = NULL;
 	db->deploy_fn = NULL;
 	db->udata = NULL;
-	db->error = faux_error_new();
+	db->error = NULL;
 
 	return db;
 }
@@ -97,7 +98,6 @@ void kdb_free(kdb_t *db)
 	faux_ini_free(db->ini);
 	if (db->dlhan)
 		dlclose(db->dlhan);
-	faux_error_free(db->error);
 
 	faux_free(db);
 }