#!/usr/bin/gawk -f
-function base64decode(str) {
- BASE64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
-
- result = ""
-
- # Specify byte values
- base1 = substr(str, 1, 1)
- base2 = substr(str, 2, 1)
- base3 = substr(str, 3, 1)
- base4 = substr(str, 4, 1)
- # Now find numerical position in BASE64 string
- byte1 = index(BASE64, base1) - 1
- if (byte1 < 0) byte1 = 0
- byte2 = index(BASE64, base2) - 1
- if (byte2 < 0) byte2 = 0
- byte3 = index(BASE64, base3) - 1
- if (byte3 < 0) byte3 = 0
- byte4 = index(BASE64, base4) - 1
- if (byte4 < 0) byte4 = 0
- # Reconstruct ASCII string
- result = result sprintf( "%c", lshift(and(byte1, 63), 2) + rshift(and(byte2, 48), 4) )
- result = result sprintf( "%c", lshift(and(byte2, 15), 4) + rshift(and(byte3, 60), 2) )
- result = result sprintf( "%c", lshift(and(byte3, 3), 6) + byte4 )
- # Decrease incoming string with 4
- str = substr(str, 5)
- return str
-}
-
+#lib=ENVIRON["NB_ROOT"]"/lib/awk"
+@include "base64decode.awk"
BEGIN {
FS = ": "
CONCAT = " "
if (i ~ /:$/) {
# NB 01.12.17 cmd="echo "h[i]" | base64 -d"
-# NB 01.12.17 cmd='base64 -d <<< "'h[i]."'
# NB 01.12.17 cmd | getline x
# NB 01.12.17 close(cmd)
# NB 01.12.17 h[i] = x
next
}
-1 && /: / && !/^(objectClass_): / {
+/: / && !/^(objectClass_): / {
FOUND = 1
field = $1
}
if (empty($Db)) {
- echo "Database is missing, use db= or try help\n";
+ echo "!Database is missing, use db= or try help\n";
break;
}
$Db->action($Db->p('action'),$Table);
case 'db':
#bye($DB_CONFS[$v]);
+ if (empty($DB_CONFS[$v])) {
+ echo "!Unknown database: $v\n";
+ break;
+ }
$Db = new Db($DB_CONFS[$v]+['conf'=>$DB_CONFS]);
$Db->connect();
break;
break;
# default:
-# echo "ERR: $k=$v\n";
+# echo "!ERR: $k=$v\n";
# Db::pset($k,null);
# break;