mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
gpgscm: Use native string searching functions.
* tests/gpgscm/ffi-private.h: Handle character arguments. * tests/gpgscm/ffi.c (do_string_index): New function. (do_string_rindex): Likewise. (do_string_contains): Likewise. (ffi_init): Define new functions. * tests/gpgscm/ffi.scm (ffi-define): New macro. * tests/gpgscm/lib.scm (string-index): Use native function, demonstrate behavior. (string-rindex): Likewise. (string-contains?): Likewise. Demonstrate behavior of various other functions. (read-all): Rework so that it can handle large files. Signed-off-by: Justus Winter <justus@g10code.com>
This commit is contained in:
parent
d99949fc8c
commit
5fbbc4b334
4 changed files with 117 additions and 42 deletions
|
@ -33,6 +33,7 @@ int ffi_bool_value (scheme *sc, pointer p);
|
|||
|
||||
#define CONVERSION_number(SC, X) (SC)->vptr->ivalue (X)
|
||||
#define CONVERSION_string(SC, X) (SC)->vptr->string_value (X)
|
||||
#define CONVERSION_character(SC, X) (SC)->vptr->charvalue (X)
|
||||
#define CONVERSION_list(SC, X) (X)
|
||||
#define CONVERSION_bool(SC, X) ffi_bool_value ((SC), (X))
|
||||
#define CONVERSION_path(SC, X) (((SC)->vptr->is_string (X) \
|
||||
|
@ -41,6 +42,7 @@ int ffi_bool_value (scheme *sc, pointer p);
|
|||
|
||||
#define IS_A_number(SC, X) (SC)->vptr->is_number (X)
|
||||
#define IS_A_string(SC, X) (SC)->vptr->is_string (X)
|
||||
#define IS_A_character(SC, X) (SC)->vptr->is_character (X)
|
||||
#define IS_A_list(SC, X) (SC)->vptr->is_list ((SC), X)
|
||||
#define IS_A_bool(SC, X) ((X) == (SC)->F || (X) == (SC)->T)
|
||||
#define IS_A_path(SC, X) ((SC)->vptr->is_string (X) \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue