aboutsummaryrefslogtreecommitdiff
path: root/mflib/safedb.mf4
diff options
context:
space:
mode:
Diffstat (limited to 'mflib/safedb.mf4')
-rw-r--r--mflib/safedb.mf448
1 files changed, 46 insertions, 2 deletions
diff --git a/mflib/safedb.mf4 b/mflib/safedb.mf4
index aaf10d51..d51e00ca 100644
--- a/mflib/safedb.mf4
+++ b/mflib/safedb.mf4
@@ -1,5 +1,5 @@
/* Safe DB I/O -*- mfl -*-
- Copyright (C) 2007, 2008 Sergey Poznyakoff
+ Copyright (C) 2007, 2008, 2009 Sergey Poznyakoff
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -16,12 +16,17 @@
#include_once <status.mfh>
+number safedb_verbose
+
func safedbget(string name, string key ; string defval, number null)
returns string
do
catch e_dbfailure
do
- return ""
+ if %safedb_verbose
+ echo "safedbget: exception $1: $2"
+ fi
+ return %defval
done
if not defined(null)
set null 0
@@ -36,6 +41,9 @@ func safedbput(string name, string key, string value ; number null)
do
catch e_dbfailure
do
+ if %safedb_verbose
+ echo "safedbput: exception $1: $2"
+ fi
return
done
if not defined(null)
@@ -44,3 +52,39 @@ do
dbput(%name, %key, %value, %null)
done
+
+func safedbmap(string name, string key; number defval, number null)
+ returns number
+do
+ catch e_dbfailure
+ do
+ if %safedb_verbose
+ echo "safedbmap: exception $1: $2"
+ fi
+ return %defval
+ done
+ if not defined(defval)
+ set defval 0
+ fi
+ if not defined(null)
+ set null 0
+ fi
+ return dbmap(%name, %key, %null)
+done
+
+func safedbdel(string name, string key; number null)
+do
+ catch e_dbfailure
+ do
+ if %safedb_verbose
+ echo "safedbdel: exception $1: $2"
+ fi
+ return
+ done
+ if not defined(null)
+ set null 0
+ fi
+ return dbdel(%name, %key, %null)
+done
+
+

Return to:

Send suggestions and report system problems to the System administrator.