version 1.5, 2019/04/16 14:26:27 |
version 1.8, 2019/05/20 20:08:26 |
|
|
|
|
struct format { |
struct format { |
int level; /* Header level, starting at 1. */ |
int level; /* Header level, starting at 1. */ |
|
int nofill; /* Level of no-fill block nesting. */ |
int flags; |
int flags; |
#define FMT_NOSPC (1 << 0) /* Suppress space before next node. */ |
#define FMT_NOSPC (1 << 0) /* Suppress space before next node. */ |
#define FMT_ARG (1 << 1) /* May add argument to current macro. */ |
#define FMT_ARG (1 << 1) /* May add argument to current macro. */ |
|
|
enum parastate parastate; |
enum parastate parastate; |
}; |
}; |
|
|
#define ARG_SPACE 1 /* Insert whitespace before this argument. */ |
#define ARG_SPACE (1 << 0) /* Insert whitespace before this argument. */ |
#define ARG_SINGLE 2 /* Quote argument if it contains whitespace. */ |
#define ARG_SINGLE (1 << 1) /* Quote arg if it contains whitespace. */ |
#define ARG_QUOTED 4 /* We are already in a quoted argument. */ |
#define ARG_QUOTED (1 << 2) /* We are already in a quoted argument. */ |
#define ARG_UPPER 8 /* Covert argument to upper case. */ |
#define ARG_RAW (1 << 3) /* Skip macro and backslash escaping. */ |
|
#define ARG_UPPER (1 << 4) /* Convert argument to upper case. */ |
|
|
|
|
void macro_open(struct format *, const char *); |
void macro_open(struct format *, const char *); |
Line 58 void macro_argline(struct format *, const char *, con |
|
Line 60 void macro_argline(struct format *, const char *, con |
|
void macro_addnode(struct format *, struct pnode *, int); |
void macro_addnode(struct format *, struct pnode *, int); |
void macro_nodeline(struct format *, const char *, struct pnode *, int); |
void macro_nodeline(struct format *, const char *, struct pnode *, int); |
|
|
|
void para_check(struct format *); |
void print_text(struct format *, const char *, int); |
void print_text(struct format *, const char *, int); |
void print_textnode(struct format *, struct pnode *); |
void print_textnode(struct format *, struct pnode *); |