Skip to content

Commit

Permalink
Merge pull request #4071 from masatake/readtags--minor-fixes
Browse files Browse the repository at this point in the history
readtags:  minor fixes
  • Loading branch information
masatake authored Sep 8, 2024
2 parents 0a2ad18 + 0162e91 commit bf269e1
Show file tree
Hide file tree
Showing 14 changed files with 320 additions and 119 deletions.
4 changes: 3 additions & 1 deletion Tmain/readtags-canonicalize-input-names.d/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,11 @@ run_test good2.tags -C -l &&
! run_test drive-letter0.tags --canonicalize-input -l &&
! run_test drive-letter1.tags -C -l &&
run_test good-ptags.tags -C -D &&
run_test good-ptags.tags -C --list-pseudo-tags &&
run_test good0.tags -A -l &&
run_test good1.tags --absolute-input -l &&
run_test good2.tags -A -l &&
! run_test drive-letter0.tags --absolute-input -l &&
! run_test drive-letter1.tags -A -l &&
run_test good-ptags.tags -A -D
run_test good-ptags.tags -A -D &&
run_test good-ptags.tags -A --list-pseudo-tags
2 changes: 2 additions & 0 deletions Tmain/readtags-canonicalize-input-names.d/stderr-expected.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
# drive-letter1.tags -C -l
!_TAG_PROC_CWD must start with '/': D:/tmp
# good-ptags.tags -C -D
# good-ptags.tags -C --list-pseudo-tags
# good0.tags -A -l
# good1.tags --absolute-input -l
# good2.tags -A -l
Expand All @@ -14,3 +15,4 @@
# drive-letter1.tags -A -l
!_TAG_PROC_CWD must start with '/': D:/tmp
# good-ptags.tags -A -D
# good-ptags.tags -A --list-pseudo-tags
26 changes: 26 additions & 0 deletions Tmain/readtags-canonicalize-input-names.d/stdout-expected.txt
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,19 @@ w_fn /abc/w.c
!_TAG_PROGRAM_URL https://ctags.io/ /official site/
!_TAG_PROGRAM_VERSION 5.9.0 /e08db39a3/
!_TAG_PROC_DUMMY /../../tmp //
# good-ptags.tags -C --list-pseudo-tags
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
!_TAG_OUTPUT_EXCMD mixed /number, pattern, mixed, or combineV2/
!_TAG_OUTPUT_FILESEP slash /slash or backslash/
!_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/
!_TAG_PATTERN_LENGTH_LIMIT 96 /0 for no limit/
!_TAG_PROC_CWD /tmp //
!_TAG_PROGRAM_AUTHOR Universal Ctags Team //
!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/
!_TAG_PROGRAM_URL https://ctags.io/ /official site/
!_TAG_PROGRAM_VERSION 5.9.0 /e08db39a3/
!_TAG_PROC_DUMMY /../../tmp //
# good0.tags -A -l
a_fn /tmp/abc/xyz/a.c
b_fn /tmp/abc/b.c
Expand Down Expand Up @@ -172,3 +185,16 @@ w_fn /abc/w.c
!_TAG_PROGRAM_URL https://ctags.io/ /official site/
!_TAG_PROGRAM_VERSION 5.9.0 /e08db39a3/
!_TAG_PROC_DUMMY /../../tmp //
# good-ptags.tags -A --list-pseudo-tags
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
!_TAG_OUTPUT_EXCMD mixed /number, pattern, mixed, or combineV2/
!_TAG_OUTPUT_FILESEP slash /slash or backslash/
!_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/
!_TAG_PATTERN_LENGTH_LIMIT 96 /0 for no limit/
!_TAG_PROC_CWD /tmp //
!_TAG_PROGRAM_AUTHOR Universal Ctags Team //
!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/
!_TAG_PROGRAM_URL https://ctags.io/ /official site/
!_TAG_PROGRAM_VERSION 5.9.0 /e08db39a3/
!_TAG_PROC_DUMMY /../../tmp //
44 changes: 44 additions & 0 deletions Tmain/readtags-with-list-pseudo-tags.d/ptag-sort-no.tags
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
!_JSON_OUTPUT_VERSION 0.0 /in development/
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED 0 /0=unsorted, 1=sorted, 2=foldcase/
!_TAG_PROGRAM_AUTHOR Universal Ctags Team //
!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/
!_TAG_PROGRAM_URL https://ctags.io/ /official site/
!_TAG_PROGRAM_VERSION 0.0.0 /9b73623f/
!_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/
!_TAG_OUTPUT_FILESEP slash /slash or backslash/
!_TAG_PATTERN_LENGTH_LIMIT 96 /0 for no limit/
!_TAG_KIND_DESCRIPTION!C d,macro /macro definitions/
!_TAG_KIND_DESCRIPTION!C e,enumerator /enumerators (values inside an enumeration)/
!_TAG_KIND_DESCRIPTION!C f,function /function definitions/
!_TAG_KIND_DESCRIPTION!C g,enum /enumeration names/
!_TAG_KIND_DESCRIPTION!C h,header /included header files/
!_TAG_KIND_DESCRIPTION!C l,local /local variables/
!_TAG_KIND_DESCRIPTION!C m,member /struct, and union members/
!_TAG_KIND_DESCRIPTION!C p,prototype /function prototypes/
!_TAG_KIND_DESCRIPTION!C s,struct /structure names/
!_TAG_KIND_DESCRIPTION!C t,typedef /typedefs/
!_TAG_KIND_DESCRIPTION!C u,union /union names/
!_TAG_KIND_DESCRIPTION!C v,variable /variable definitions/
!_TAG_KIND_DESCRIPTION!C x,externvar /external and forward variable declarations/
!_TAG_KIND_DESCRIPTION!C z,parameter /function parameters inside function definitions/
!_TAG_KIND_DESCRIPTION!C L,label /goto labels/
!_TAG_KIND_DESCRIPTION!C D,macroparam /parameters inside macro definitions/
main input.c /^int main (void) { return 0; }$/;" f typeref:typename:int
!_TAG_KIND_DESCRIPTION!EmacsLisp u,unknown /unknown type of definitions/
!_TAG_KIND_DESCRIPTION!EmacsLisp f,function /functions/
!_TAG_KIND_DESCRIPTION!EmacsLisp v,variable /variables/
!_TAG_KIND_DESCRIPTION!EmacsLisp c,const /constants/
!_TAG_KIND_DESCRIPTION!EmacsLisp m,macro /macros/
!_TAG_KIND_DESCRIPTION!EmacsLisp a,alias /aliases for functions/
!_TAG_KIND_DESCRIPTION!EmacsLisp V,varalias /aliases for variables/
!_TAG_KIND_DESCRIPTION!EmacsLisp s,subst /inline function/
!_TAG_KIND_DESCRIPTION!EmacsLisp i,inline /inline function/
!_TAG_KIND_DESCRIPTION!EmacsLisp e,error /errors/
!_TAG_KIND_DESCRIPTION!EmacsLisp M,minorMode /minor modes/
!_TAG_KIND_DESCRIPTION!EmacsLisp D,derivedMode /derived major mode/
!_TAG_KIND_DESCRIPTION!EmacsLisp C,custom /customizable variables/
!_TAG_KIND_DESCRIPTION!EmacsLisp G,group /customization groups/
!_TAG_KIND_DESCRIPTION!EmacsLisp H,face /customizable faces/
!_TAG_KIND_DESCRIPTION!EmacsLisp T,theme /custom themes/
afunc input.el /^(defun afunc () nil)$/;" f
44 changes: 44 additions & 0 deletions Tmain/readtags-with-list-pseudo-tags.d/ptag-sort-yes.tags
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
!_JSON_OUTPUT_VERSION 0.0 /in development/
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
!_TAG_KIND_DESCRIPTION!C D,macroparam /parameters inside macro definitions/
!_TAG_KIND_DESCRIPTION!C L,label /goto labels/
!_TAG_KIND_DESCRIPTION!C d,macro /macro definitions/
!_TAG_KIND_DESCRIPTION!C e,enumerator /enumerators (values inside an enumeration)/
!_TAG_KIND_DESCRIPTION!C f,function /function definitions/
!_TAG_KIND_DESCRIPTION!C g,enum /enumeration names/
!_TAG_KIND_DESCRIPTION!C h,header /included header files/
!_TAG_KIND_DESCRIPTION!C l,local /local variables/
!_TAG_KIND_DESCRIPTION!C m,member /struct, and union members/
!_TAG_KIND_DESCRIPTION!C p,prototype /function prototypes/
!_TAG_KIND_DESCRIPTION!C s,struct /structure names/
!_TAG_KIND_DESCRIPTION!C t,typedef /typedefs/
!_TAG_KIND_DESCRIPTION!C u,union /union names/
!_TAG_KIND_DESCRIPTION!C v,variable /variable definitions/
!_TAG_KIND_DESCRIPTION!C x,externvar /external and forward variable declarations/
!_TAG_KIND_DESCRIPTION!C z,parameter /function parameters inside function definitions/
!_TAG_KIND_DESCRIPTION!EmacsLisp C,custom /customizable variables/
!_TAG_KIND_DESCRIPTION!EmacsLisp D,derivedMode /derived major mode/
!_TAG_KIND_DESCRIPTION!EmacsLisp G,group /customization groups/
!_TAG_KIND_DESCRIPTION!EmacsLisp H,face /customizable faces/
!_TAG_KIND_DESCRIPTION!EmacsLisp M,minorMode /minor modes/
!_TAG_KIND_DESCRIPTION!EmacsLisp T,theme /custom themes/
!_TAG_KIND_DESCRIPTION!EmacsLisp V,varalias /aliases for variables/
!_TAG_KIND_DESCRIPTION!EmacsLisp a,alias /aliases for functions/
!_TAG_KIND_DESCRIPTION!EmacsLisp c,const /constants/
!_TAG_KIND_DESCRIPTION!EmacsLisp e,error /errors/
!_TAG_KIND_DESCRIPTION!EmacsLisp f,function /functions/
!_TAG_KIND_DESCRIPTION!EmacsLisp i,inline /inline function/
!_TAG_KIND_DESCRIPTION!EmacsLisp m,macro /macros/
!_TAG_KIND_DESCRIPTION!EmacsLisp s,subst /inline function/
!_TAG_KIND_DESCRIPTION!EmacsLisp u,unknown /unknown type of definitions/
!_TAG_KIND_DESCRIPTION!EmacsLisp v,variable /variables/
!_TAG_OUTPUT_FILESEP slash /slash or backslash/
!_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/
!_TAG_PATTERN_LENGTH_LIMIT 96 /0 for no limit/
!_TAG_PROGRAM_AUTHOR Universal Ctags Team //
!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/
!_TAG_PROGRAM_URL https://ctags.io/ /official site/
!_TAG_PROGRAM_VERSION 0.0.0 /9b73623f/
afunc input.el /^(defun afunc () nil)$/;" f
main input.c /^int main (void) { return 0; }$/;" f typeref:typename:int
20 changes: 20 additions & 0 deletions Tmain/readtags-with-list-pseudo-tags.d/run.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/bin/sh

# Copyright: 2023 Masatake YAMATO
# License: GPL-2

READTAGS=$3
#V="valgrind --leak-check=full --track-origins=yes -v"
V=

. ../utils.sh

if ! [ -x "${READTAGS}" ]; then
skip "no readtags"
fi

echo '# ACTION=LIST'
${V} ${READTAGS} -t ./ptag-sort-no.tags -P -l

echo '# ACTION=NAME'
${V} ${READTAGS} -t ./ptag-sort-yes.tags --with-pseudo-tags - main
Empty file.
105 changes: 105 additions & 0 deletions Tmain/readtags-with-list-pseudo-tags.d/stdout-expected.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
# ACTION=LIST
!_JSON_OUTPUT_VERSION 0.0 /in development/
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED 0 /0=unsorted, 1=sorted, 2=foldcase/
!_TAG_PROGRAM_AUTHOR Universal Ctags Team //
!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/
!_TAG_PROGRAM_URL https://ctags.io/ /official site/
!_TAG_PROGRAM_VERSION 0.0.0 /9b73623f/
!_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/
!_TAG_OUTPUT_FILESEP slash /slash or backslash/
!_TAG_PATTERN_LENGTH_LIMIT 96 /0 for no limit/
!_TAG_KIND_DESCRIPTION!C d,macro /macro definitions/
!_TAG_KIND_DESCRIPTION!C e,enumerator /enumerators (values inside an enumeration)/
!_TAG_KIND_DESCRIPTION!C f,function /function definitions/
!_TAG_KIND_DESCRIPTION!C g,enum /enumeration names/
!_TAG_KIND_DESCRIPTION!C h,header /included header files/
!_TAG_KIND_DESCRIPTION!C l,local /local variables/
!_TAG_KIND_DESCRIPTION!C m,member /struct, and union members/
!_TAG_KIND_DESCRIPTION!C p,prototype /function prototypes/
!_TAG_KIND_DESCRIPTION!C s,struct /structure names/
!_TAG_KIND_DESCRIPTION!C t,typedef /typedefs/
!_TAG_KIND_DESCRIPTION!C u,union /union names/
!_TAG_KIND_DESCRIPTION!C v,variable /variable definitions/
!_TAG_KIND_DESCRIPTION!C x,externvar /external and forward variable declarations/
!_TAG_KIND_DESCRIPTION!C z,parameter /function parameters inside function definitions/
!_TAG_KIND_DESCRIPTION!C L,label /goto labels/
!_TAG_KIND_DESCRIPTION!C D,macroparam /parameters inside macro definitions/
!_TAG_KIND_DESCRIPTION!EmacsLisp u,unknown /unknown type of definitions/
!_TAG_KIND_DESCRIPTION!EmacsLisp f,function /functions/
!_TAG_KIND_DESCRIPTION!EmacsLisp v,variable /variables/
!_TAG_KIND_DESCRIPTION!EmacsLisp c,const /constants/
!_TAG_KIND_DESCRIPTION!EmacsLisp m,macro /macros/
!_TAG_KIND_DESCRIPTION!EmacsLisp a,alias /aliases for functions/
!_TAG_KIND_DESCRIPTION!EmacsLisp V,varalias /aliases for variables/
!_TAG_KIND_DESCRIPTION!EmacsLisp s,subst /inline function/
!_TAG_KIND_DESCRIPTION!EmacsLisp i,inline /inline function/
!_TAG_KIND_DESCRIPTION!EmacsLisp e,error /errors/
!_TAG_KIND_DESCRIPTION!EmacsLisp M,minorMode /minor modes/
!_TAG_KIND_DESCRIPTION!EmacsLisp D,derivedMode /derived major mode/
!_TAG_KIND_DESCRIPTION!EmacsLisp C,custom /customizable variables/
!_TAG_KIND_DESCRIPTION!EmacsLisp G,group /customization groups/
!_TAG_KIND_DESCRIPTION!EmacsLisp H,face /customizable faces/
!_TAG_KIND_DESCRIPTION!EmacsLisp T,theme /custom themes/
main input.c /^int main (void) { return 0; }$/
!_TAG_KIND_DESCRIPTION!EmacsLisp u,unknown /unknown type of definitions/
!_TAG_KIND_DESCRIPTION!EmacsLisp f,function /functions/
!_TAG_KIND_DESCRIPTION!EmacsLisp v,variable /variables/
!_TAG_KIND_DESCRIPTION!EmacsLisp c,const /constants/
!_TAG_KIND_DESCRIPTION!EmacsLisp m,macro /macros/
!_TAG_KIND_DESCRIPTION!EmacsLisp a,alias /aliases for functions/
!_TAG_KIND_DESCRIPTION!EmacsLisp V,varalias /aliases for variables/
!_TAG_KIND_DESCRIPTION!EmacsLisp s,subst /inline function/
!_TAG_KIND_DESCRIPTION!EmacsLisp i,inline /inline function/
!_TAG_KIND_DESCRIPTION!EmacsLisp e,error /errors/
!_TAG_KIND_DESCRIPTION!EmacsLisp M,minorMode /minor modes/
!_TAG_KIND_DESCRIPTION!EmacsLisp D,derivedMode /derived major mode/
!_TAG_KIND_DESCRIPTION!EmacsLisp C,custom /customizable variables/
!_TAG_KIND_DESCRIPTION!EmacsLisp G,group /customization groups/
!_TAG_KIND_DESCRIPTION!EmacsLisp H,face /customizable faces/
!_TAG_KIND_DESCRIPTION!EmacsLisp T,theme /custom themes/
afunc input.el /^(defun afunc () nil)$/
# ACTION=NAME
!_JSON_OUTPUT_VERSION 0.0 /in development/
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
!_TAG_KIND_DESCRIPTION!C D,macroparam /parameters inside macro definitions/
!_TAG_KIND_DESCRIPTION!C L,label /goto labels/
!_TAG_KIND_DESCRIPTION!C d,macro /macro definitions/
!_TAG_KIND_DESCRIPTION!C e,enumerator /enumerators (values inside an enumeration)/
!_TAG_KIND_DESCRIPTION!C f,function /function definitions/
!_TAG_KIND_DESCRIPTION!C g,enum /enumeration names/
!_TAG_KIND_DESCRIPTION!C h,header /included header files/
!_TAG_KIND_DESCRIPTION!C l,local /local variables/
!_TAG_KIND_DESCRIPTION!C m,member /struct, and union members/
!_TAG_KIND_DESCRIPTION!C p,prototype /function prototypes/
!_TAG_KIND_DESCRIPTION!C s,struct /structure names/
!_TAG_KIND_DESCRIPTION!C t,typedef /typedefs/
!_TAG_KIND_DESCRIPTION!C u,union /union names/
!_TAG_KIND_DESCRIPTION!C v,variable /variable definitions/
!_TAG_KIND_DESCRIPTION!C x,externvar /external and forward variable declarations/
!_TAG_KIND_DESCRIPTION!C z,parameter /function parameters inside function definitions/
!_TAG_KIND_DESCRIPTION!EmacsLisp C,custom /customizable variables/
!_TAG_KIND_DESCRIPTION!EmacsLisp D,derivedMode /derived major mode/
!_TAG_KIND_DESCRIPTION!EmacsLisp G,group /customization groups/
!_TAG_KIND_DESCRIPTION!EmacsLisp H,face /customizable faces/
!_TAG_KIND_DESCRIPTION!EmacsLisp M,minorMode /minor modes/
!_TAG_KIND_DESCRIPTION!EmacsLisp T,theme /custom themes/
!_TAG_KIND_DESCRIPTION!EmacsLisp V,varalias /aliases for variables/
!_TAG_KIND_DESCRIPTION!EmacsLisp a,alias /aliases for functions/
!_TAG_KIND_DESCRIPTION!EmacsLisp c,const /constants/
!_TAG_KIND_DESCRIPTION!EmacsLisp e,error /errors/
!_TAG_KIND_DESCRIPTION!EmacsLisp f,function /functions/
!_TAG_KIND_DESCRIPTION!EmacsLisp i,inline /inline function/
!_TAG_KIND_DESCRIPTION!EmacsLisp m,macro /macros/
!_TAG_KIND_DESCRIPTION!EmacsLisp s,subst /inline function/
!_TAG_KIND_DESCRIPTION!EmacsLisp u,unknown /unknown type of definitions/
!_TAG_KIND_DESCRIPTION!EmacsLisp v,variable /variables/
!_TAG_OUTPUT_FILESEP slash /slash or backslash/
!_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/
!_TAG_PATTERN_LENGTH_LIMIT 96 /0 for no limit/
!_TAG_PROGRAM_AUTHOR Universal Ctags Team //
!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/
!_TAG_PROGRAM_URL https://ctags.io/ /official site/
!_TAG_PROGRAM_VERSION 0.0.0 /9b73623f/
main input.c /^int main (void) { return 0; }$/
2 changes: 1 addition & 1 deletion docs/man/readtags.1.rst
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ ACTIONS
"-" as NAME indicates arguments after this as NAME even if they start with -.

``-D``, ``--list-pseudo-tags``
Equivalent to ``--list-pseudo-tags``.
List pseudo tags.

OPTIONS
-------
Expand Down
21 changes: 11 additions & 10 deletions extra-cmds/printtags.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,9 @@
*/

#include "printtags.h"
#include <stdio.h>

#include <stdbool.h>
#include <stdio.h>

/*
* DATA DEFINITIONS
Expand Down Expand Up @@ -48,7 +49,7 @@ static void ultostr (char dst [21], unsigned long d)
dst [i] = '\0';
}

static void printValue (const char *val, int printingWithEscaping,
static void printValue (const char *val, bool printingWithEscaping,
int (* print_str) (const char *, void *),
int (* print_char) (int, void *),
void *outfp)
Expand Down Expand Up @@ -103,7 +104,7 @@ static void printValue (const char *val, int printingWithEscaping,
}

extern int tagsPrintValue (const char *val,
int escaping,
bool escaping,
tagPrintProcs *procs,
void *outfp)
{
Expand All @@ -117,11 +118,11 @@ extern int tagsPrintValue (const char *val,
}

static void tagsPrintTag (const tagEntry *entry,
int printingExtensionFields,
int printingLineNumber,
int printingWithEscaping,
int printInputFieldWithEscaping,
int pseudoTag,
bool printingExtensionFields,
bool printingLineNumber,
bool printingWithEscaping,
bool printInputFieldWithEscaping,
bool pseudoTag,
int (* print_str) (const char *, void *),
int (* print_char) (int, void *),
void *outfp)
Expand Down Expand Up @@ -217,7 +218,7 @@ extern int tagsPrint (const tagEntry *entry,
opt->lineNumber,
opt->escaping,
opt->escapingInputField,
0,
false,
procs->printStr,
procs->printChar,
outfp);
Expand All @@ -235,7 +236,7 @@ extern int tagsPrintPseudoTag (const tagEntry *entry,
opt->lineNumber,
opt->escaping,
opt->escapingInputField,
1,
true,
procs->printStr,
procs->printChar,
outfp);
Expand Down
11 changes: 6 additions & 5 deletions extra-cmds/printtags.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ extern "C" {
* INCLUDE FILES
*/
#include "readtags.h"
#include <stdbool.h>

/*
* DATA DECLARATIONS
Expand All @@ -28,10 +29,10 @@ typedef struct {
} tagPrintProcs;

typedef struct {
int extensionFields;
int lineNumber;
int escaping;
int escapingInputField;
bool extensionFields;
bool lineNumber;
bool escaping;
bool escapingInputField;
} tagPrintOptions;

/*
Expand All @@ -46,7 +47,7 @@ extern int tagsPrint (const tagEntry *entry,
extern int tagsPrintPseudoTag (const tagEntry *entry,
tagPrintOptions *opts, tagPrintProcs *procs, void *outfp);

extern int tagsPrintValue (const char *val, int escaping, tagPrintProcs *procs, void *outfp);
extern int tagsPrintValue (const char *val, bool escaping, tagPrintProcs *procs, void *outfp);

#ifdef __cplusplus
};
Expand Down
Loading

0 comments on commit bf269e1

Please sign in to comment.