From 885243e05467e79e2375b3febe7904053ab45dfc Mon Sep 17 00:00:00 2001 From: Marcus Brinkmann Date: Tue, 14 Feb 2012 13:03:46 +0100 Subject: Rework status table to be less dynamically generated. * src/Makefile.am (EXTRA_DIST): Remove mkstatus. (BUILT_SOURCE, MOSTLYCLEANFILES): Remove. (main_sources): Remove status-table.h, extra-stati.h. Add status-table.c. (status-table.h): Remove rules for built source. * src/decrypt.c: Don't include extra-stati.h. * src/engine-gpg.c: Don't include status-table.h. (status_cmp): Remove function. (read_status): Use _gpgme_parse_status. * src/engine-gpgsm.c: Don't include status-table.h. (status_cmp, parse_status): Remove function. (gpgsm_assuan_simple_command, status_handler): Use _gpgme_parse_status. * src/engine-uiserver.c: Don't include status-table.h. (status_cmp, parse_status): Remove function. (uiserver_assuan_simple_command, status_handler): Use _gpgme_parse_status. * src/gpgme.h.in (gpgme_status_code_t): Add GPGME_STATUS_DECRYPTION_INFO. * src/util.h (_gpgme_status_init,_gpgme_parse_status): New declaration. * src/status-table.c: New file. * src/extra-stati.h, src/mkstatus: Files removed. * version.c (do_subsystem_inits): Call _gpgme_status_init. --- src/engine-gpgsm.c | 29 ++--------------------------- 1 file changed, 2 insertions(+), 27 deletions(-) (limited to 'src/engine-gpgsm.c') diff --git a/src/engine-gpgsm.c b/src/engine-gpgsm.c index 4b7b5a2e..0620458a 100644 --- a/src/engine-gpgsm.c +++ b/src/engine-gpgsm.c @@ -48,7 +48,6 @@ #include "data.h" #include "assuan.h" -#include "status-table.h" #include "debug.h" #include "engine-backend.h" @@ -559,9 +558,6 @@ gpgsm_set_locale (void *engine, int category, const char *value) } -/* Forward declaration. */ -static gpgme_status_code_t parse_status (const char *name); - static gpgme_error_t gpgsm_assuan_simple_command (assuan_context_t ctx, char *cmd, engine_status_handler_t status_fnc, @@ -604,7 +600,7 @@ gpgsm_assuan_simple_command (assuan_context_t ctx, char *cmd, else *(rest++) = 0; - r = parse_status (line + 2); + r = _gpgme_parse_status (line + 2); if (r >= 0 && status_fnc) err = status_fnc (status_fnc_value, r, rest); @@ -756,27 +752,6 @@ map_data_enc (gpgme_data_t d) } -static int -status_cmp (const void *ap, const void *bp) -{ - const struct status_table_s *a = ap; - const struct status_table_s *b = bp; - - return strcmp (a->name, b->name); -} - - -static gpgme_status_code_t -parse_status (const char *name) -{ - struct status_table_s t, *r; - t.name = name; - r = bsearch (&t, status_table, DIM(status_table) - 1, - sizeof t, status_cmp); - return r ? r->code : -1; -} - - static gpgme_error_t status_handler (void *opaque, int fd) { @@ -963,7 +938,7 @@ status_handler (void *opaque, int fd) else *(rest++) = 0; - r = parse_status (line + 2); + r = _gpgme_parse_status (line + 2); if (r >= 0) { -- cgit v1.2.3