gdbm: move enums to main vocab
parent
0c020a47d8
commit
2446a59744
|
@ -14,8 +14,6 @@ LIBRARY: libgdbm
|
|||
|
||||
C-GLOBAL: c-string gdbm_version
|
||||
|
||||
ENUM: gdbm-role reader writer wrcreat newdb ;
|
||||
|
||||
CONSTANT: GDBM_SYNC HEX: 20
|
||||
CONSTANT: GDBM_NOLOCK HEX: 40
|
||||
|
||||
|
@ -46,29 +44,6 @@ FUNCTION: int gdbm_exists ( GDBM_FILE dbf, datum key ) ;
|
|||
FUNCTION: int gdbm_setopt ( GDBM_FILE dbf, int option, int* value, int size ) ;
|
||||
FUNCTION: int gdbm_fdesc ( GDBM_FILE dbf ) ;
|
||||
|
||||
ENUM: gdbm-error
|
||||
gdbm-no-error
|
||||
gdbm-malloc-error
|
||||
gdbm-block-size-error
|
||||
gdbm-file-open-error
|
||||
gdbm-file-write-error
|
||||
gdbm-file-seek-error
|
||||
gdbm-file-read-error
|
||||
gdbm-bad-magic-number
|
||||
gdbm-empty-database
|
||||
gdbm-cant-be-reader
|
||||
gdbm-cant-be-writer
|
||||
gdbm-reader-cant-delete
|
||||
gdbm-reader-cant-store
|
||||
gdbm-reader-cant-reorganize
|
||||
gdbm-unknown-update
|
||||
gdbm-item-not-found
|
||||
gdbm-reorganize-failed
|
||||
gdbm-cannot-replace
|
||||
gdbm-illegal-data
|
||||
gdbm-option-already-set
|
||||
gdbm-illegal-option ;
|
||||
C-GLOBAL: int gdbm_errno
|
||||
|
||||
C-GLOBAL: gdbm-error gdbm_errno
|
||||
|
||||
FUNCTION: c-string gdbm_strerror ( gdbm-error errno ) ;
|
||||
FUNCTION: c-string gdbm_strerror ( int errno ) ;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
! Copyright (C) 2010 Dmitry Shubin.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors arrays continuations gdbm gdbm.ffi io.directories
|
||||
USING: accessors arrays continuations gdbm io.directories
|
||||
io.files.temp kernel sequences sets tools.test ;
|
||||
IN: gdbm.tests
|
||||
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
! Copyright (C) 2010 Dmitry Shubin.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors alien.c-types alien.data alien.destructors
|
||||
alien.enums classes.struct combinators destructors gdbm.ffi io.backend
|
||||
kernel libc locals math namespaces sequences serialize strings ;
|
||||
alien.enums alien.syntax classes.struct combinators destructors
|
||||
gdbm.ffi io.backend kernel libc locals math namespaces sequences
|
||||
serialize strings ;
|
||||
IN: gdbm
|
||||
|
||||
ENUM: gdbm-role reader writer wrcreat newdb ;
|
||||
|
||||
TUPLE: gdbm
|
||||
{ name string }
|
||||
{ block-size integer }
|
||||
|
@ -15,10 +18,33 @@ TUPLE: gdbm
|
|||
|
||||
: <gdbm> ( -- gdbm ) gdbm new ;
|
||||
|
||||
ENUM: gdbm-error
|
||||
gdbm-no-error
|
||||
gdbm-malloc-error
|
||||
gdbm-block-size-error
|
||||
gdbm-file-open-error
|
||||
gdbm-file-write-error
|
||||
gdbm-file-seek-error
|
||||
gdbm-file-read-error
|
||||
gdbm-bad-magic-number
|
||||
gdbm-empty-database
|
||||
gdbm-cant-be-reader
|
||||
gdbm-cant-be-writer
|
||||
gdbm-reader-cant-delete
|
||||
gdbm-reader-cant-store
|
||||
gdbm-reader-cant-reorganize
|
||||
gdbm-unknown-update
|
||||
gdbm-item-not-found
|
||||
gdbm-reorganize-failed
|
||||
gdbm-cannot-replace
|
||||
gdbm-illegal-data
|
||||
gdbm-option-already-set
|
||||
gdbm-illegal-option ;
|
||||
|
||||
|
||||
<PRIVATE
|
||||
|
||||
: gdbm-throw ( -- * ) gdbm_errno throw ;
|
||||
: gdbm-throw ( -- * ) gdbm_errno gdbm-error number>enum throw ;
|
||||
|
||||
: check-error ( ret -- ) 0 = [ gdbm-throw ] unless ;
|
||||
|
||||
|
@ -69,7 +95,8 @@ PRIVATE>
|
|||
|
||||
: gdbm-info ( -- str ) gdbm_version ;
|
||||
|
||||
: gdbm-error-message ( error -- msg ) gdbm_strerror ;
|
||||
: gdbm-error-message ( error -- msg )
|
||||
enum>number gdbm_strerror ;
|
||||
|
||||
: replace ( key content -- ) GDBM_REPLACE gdbm-store ;
|
||||
: insert ( key content -- ) GDBM_INSERT gdbm-store ;
|
||||
|
|
Loading…
Reference in New Issue