diff options
author | Justus Winter <[email protected]> | 2017-02-28 08:40:01 +0000 |
---|---|---|
committer | Justus Winter <[email protected]> | 2017-02-28 09:00:29 +0000 |
commit | 7cc57e2c63d0fa97569736419db5c76117e7685b (patch) | |
tree | b207319233f78d2807b65507aa64a3266857caef /tests/gpgscm/scheme-private.h | |
parent | gpgv,w32: Fix --status-fd. (diff) | |
download | gnupg-7cc57e2c63d0fa97569736419db5c76117e7685b.tar.gz gnupg-7cc57e2c63d0fa97569736419db5c76117e7685b.zip |
gpgscm: Track source locations in every kind of ports.
* tests/gpgscm/scheme-private.h (struct port): Move location
information out of the union.
* tests/gpgscm/scheme.c (mark): All ports need marking now.
(gc): Likewise all ports on the load stack.
(port_clear_location): Adapt accordingly. Also, add an empty function
for !SHOW_ERROR_LINE.
(port_increment_current_line): Likewise.
(port_reset_current_line): Drop function in favor of...
(port_init_location): ... this new function.
(file_push): Simplify.
(file_pop): Likewise.
(port_rep_from_filename): Likewise.
(port_rep_from_file): Likewise.
(port_rep_from_string): Also initialize the location.
(port_rep_from_scratch): Likewise.
(port_close): Simplify and generalize.
(skipspace): Likewise.
(token): Likewise.
(_Error_1): Generalize.
(opexe_5): Likewise.
(scheme_deinit): Simplify and generalize.
(scheme_load_named_file): Likewise.
(scheme_load_string): Also initialize the location.
--
This change tracks the location of source code loaded from non-file
ports that is used in error messages. It also simplifies the code
quite a bit.
Signed-off-by: Justus Winter <[email protected]>
Diffstat (limited to 'tests/gpgscm/scheme-private.h')
-rw-r--r-- | tests/gpgscm/scheme-private.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/tests/gpgscm/scheme-private.h b/tests/gpgscm/scheme-private.h index ad8f57142..abd89e8cb 100644 --- a/tests/gpgscm/scheme-private.h +++ b/tests/gpgscm/scheme-private.h @@ -27,10 +27,6 @@ typedef struct port { struct { FILE *file; int closeit; -#if SHOW_ERROR_LINE - pointer curr_line; - pointer filename; -#endif } stdio; struct { char *start; @@ -38,6 +34,10 @@ typedef struct port { char *curr; } string; } rep; +#if SHOW_ERROR_LINE + pointer curr_line; + pointer filename; +#endif } port; /* cell structure */ |