aboutsummaryrefslogtreecommitdiff
path: root/src/grecs.h
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2011-05-25 18:42:22 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2011-05-25 18:42:22 +0300
commita98d3bcc6bcd42b4a2bc405183c531f4dcccd067 (patch)
tree7b9525de40146c61ca8be977a187a432325439a4 /src/grecs.h
parent26a84bc3a797d60998b3ad6c3732c76ebc154f8c (diff)
downloadgrecs-a98d3bcc6bcd42b4a2bc405183c531f4dcccd067.tar.gz
grecs-a98d3bcc6bcd42b4a2bc405183c531f4dcccd067.tar.bz2
Change GRECS_NODE_.* flag handling.
* src/grecs.h: Rearange GRECS_NODE_FLAG_* constants. Remove GRECS_NODE_FLAG_NODESCEND, introduce GRECS_NODE_FLAG_DESCEND instead. (_GRECS_NODE_MASK_DELIM,_GRECS_NODE_MASK_OUTPUT): New macros. (grecs_format_node): Returns int. (grecs_print_node): Likewise.
Diffstat (limited to 'src/grecs.h')
-rw-r--r--src/grecs.h27
1 files changed, 16 insertions, 11 deletions
diff --git a/src/grecs.h b/src/grecs.h
index 7be6b21..fd957a8 100644
--- a/src/grecs.h
+++ b/src/grecs.h
@@ -308,23 +308,28 @@ void grecs_format_node_path(struct grecs_node *node, int flag,
void grecs_format_value(struct grecs_value *val, int flags,
struct grecs_format_closure *fp);
-#define GRECS_NODE_FLAG_LOCUS 0x0100
-#define GRECS_NODE_FLAG_PATH 0x0200
-#define GRECS_NODE_FLAG_VALUE 0x0400
-#define GRECS_NODE_FLAG_QUOTE 0x0800
-#define GRECS_NODE_FLAG_NOQUOTE 0x1000
-#define GRECS_NODE_FLAG_QUOTE_HEX 0x2000
-#define GRECS_NODE_FLAG_NODESCEND 0x4000
+#define GRECS_NODE_FLAG_PATH 0x00100
+#define GRECS_NODE_FLAG_VALUE 0x00200
+#define GRECS_NODE_FLAG_DESCEND 0x01000
+#define GRECS_NODE_FLAG_LOCUS 0x02000
+#define GRECS_NODE_FLAG_QUOTE 0x04000
+#define GRECS_NODE_FLAG_NOQUOTE 0x08000
+#define GRECS_NODE_FLAG_QUOTE_HEX 0x10000
+
+#define _GRECS_NODE_MASK_DELIM 0x000ff
+#define _GRECS_NODE_MASK_OUTPUT 0x00f00
+
#define GRECS_NODE_FLAG_DEFAULT \
- (GRECS_NODE_FLAG_PATH|GRECS_NODE_FLAG_VALUE|GRECS_NODE_FLAG_QUOTE)
-void grecs_format_node(struct grecs_node *node, int flags,
- struct grecs_format_closure *fp);
+ (GRECS_NODE_FLAG_PATH|GRECS_NODE_FLAG_VALUE|\
+ GRECS_NODE_FLAG_DESCEND|GRECS_NODE_FLAG_QUOTE)
+int grecs_format_node(struct grecs_node *node, int flags,
+ struct grecs_format_closure *fp);
void grecs_print_locus(grecs_locus_t *locus, FILE *fp);
void grecs_print_node_path(struct grecs_node *node, int flag, FILE *fp);
void grecs_print_value(struct grecs_value *val, int flags, FILE *fp);
-void grecs_print_node(struct grecs_node *node, int flags, FILE *fp);
+int grecs_print_node(struct grecs_node *node, int flags, FILE *fp);
struct grecs_txtacc;
void grecs_txtacc_format_value(struct grecs_value *val, int flags,

Return to:

Send suggestions and report system problems to the System administrator.