/usr/share/gauche-0.9/0.9.4/lib/dbm/dump is in gauche-gdbm 0.9.4-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | ;; -*- mode:scheme -*-
;;
;; A script to dump dbm content in S-expr
;;
;; Usage: gosh dbm/dump [-o <outfile>][-t <type>] <dbmname>
;;
(use gauche.parseopt)
(use dbm)
(use util.match)
(use file.filter)
(define (main args)
(let-args (cdr args) ([ofile "o=s" #f]
[type "t=y" 'gdbm]
[else _ (usage)]
. args)
(let1 class (dbm-type->class type)
(unless class (exit 1 "dbm type `~a' unknown" type))
(match args
[(dbmname) (do-dump dbmname class (or ofile (current-output-port)))]
[else (usage)]))
0))
(define (usage)
(print "Usage: gosh dbm/dump [-o outfile][-t type] dbmname")
(exit 0))
(define (do-dump name class output)
(let1 dbm (guard (e [else (exit 1 "couldn't open dbm database: ~a"
(~ e'message))])
(dbm-open class :path name :rw-mode :read))
(file-filter
(^(in out)
(dbm-for-each dbm (^(k v) (write (cons k v) out) (newline out))))
:output output :temporary-file output)
(dbm-close dbm)))
|