diff options
| -rw-r--r-- | src/blocks.c | 4 | ||||
| -rw-r--r-- | src/cmark.c | 1 | ||||
| -rw-r--r-- | src/inlines.c | 16 | ||||
| -rw-r--r-- | src/parser.h | 1 | ||||
| -rw-r--r-- | src/references.c | 27 | ||||
| -rw-r--r-- | src/references.h | 9 | 
6 files changed, 25 insertions, 33 deletions
| diff --git a/src/blocks.c b/src/blocks.c index d955e68..09a9306 100644 --- a/src/blocks.c +++ b/src/blocks.c @@ -49,7 +49,7 @@ cmark_doc_parser *cmark_new_doc_parser()  	strbuf *line = (strbuf*)malloc(sizeof(strbuf));  	cmark_strbuf_init(line, 256); -	parser->refmap = reference_map_new(); +	parser->refmap = cmark_reference_map_new();  	parser->root = document;  	parser->current = document;  	parser->line_number = 0; @@ -285,7 +285,7 @@ typedef struct BlockStack {  // Walk through cmark_node and all children, recursively, parsing  // string content into inline content where appropriate. -static void process_inlines(cmark_node* cur, reference_map *refmap) +static void process_inlines(cmark_node* cur, cmark_reference_map *refmap)  {  	block_stack* stack = NULL;  	block_stack* newstack = NULL; diff --git a/src/cmark.c b/src/cmark.c index 273a37b..945e392 100644 --- a/src/cmark.c +++ b/src/cmark.c @@ -2,7 +2,6 @@  #include <assert.h>  #include <stdio.h>  #include "node.h" -#include "references.h"  #include "html/houdini.h"  #include "cmark.h"  #include "buffer.h" diff --git a/src/inlines.c b/src/inlines.c index c33cc84..49dc781 100644 --- a/src/inlines.c +++ b/src/inlines.c @@ -37,13 +37,14 @@ typedef struct DelimiterStack {  typedef struct Subject {  	chunk input;  	int pos; -	reference_map *refmap; +	cmark_reference_map *refmap;  	delimiter_stack *delimiters;  } subject;  static int parse_inline(subject* subj, cmark_node * parent); -static void subject_from_buf(subject *e, strbuf *buffer, reference_map *refmap); +static void subject_from_buf(subject *e, strbuf *buffer, +			     cmark_reference_map *refmap);  static int subject_find_special_char(subject *subj);  static unsigned char *cmark_clean_autolink(chunk *url, int is_email) @@ -154,7 +155,8 @@ static unsigned char *bufdup(const unsigned char *buf)  	return new_buf;  } -static void subject_from_buf(subject *e, strbuf *buffer, reference_map *refmap) +static void subject_from_buf(subject *e, strbuf *buffer, +			     cmark_reference_map *refmap)  {  	e->input.data = buffer->ptr;  	e->input.len = buffer->size; @@ -649,7 +651,7 @@ static cmark_node* handle_close_bracket(subject* subj, cmark_node *parent)  	int starturl, endurl, starttitle, endtitle, endall;  	int n;  	int sps; -	reference *ref; +	cmark_reference *ref;  	bool is_image = false;  	chunk urlchunk, titlechunk;  	unsigned char *url, *title; @@ -731,7 +733,7 @@ static cmark_node* handle_close_bracket(subject* subj, cmark_node *parent)  		subj->pos = initial_pos;  	} -	ref = reference_lookup(subj->refmap, &raw_label); +	ref = cmark_reference_lookup(subj->refmap, &raw_label);  	chunk_free(&raw_label);  	if (ref != NULL) { // found @@ -933,7 +935,7 @@ static void spnl(subject* subj)  // Modify refmap if a reference is encountered.  // Return 0 if no reference found, otherwise position of subject  // after reference is parsed. -int cmark_parse_reference_inline(strbuf *input, reference_map *refmap) +int cmark_parse_reference_inline(strbuf *input, cmark_reference_map *refmap)  {  	subject subj; @@ -988,6 +990,6 @@ int cmark_parse_reference_inline(strbuf *input, reference_map *refmap)  		return 0;  	}  	// insert reference into refmap -	reference_create(refmap, &lab, &url, &title); +	cmark_reference_create(refmap, &lab, &url, &title);  	return subj.pos;  } diff --git a/src/parser.h b/src/parser.h index 4bbea09..bbbc3b1 100644 --- a/src/parser.h +++ b/src/parser.h @@ -3,7 +3,6 @@  #include <stdio.h>  #include "node.h" -#include "references.h"  #include "buffer.h"  #ifdef __cplusplus diff --git a/src/references.c b/src/references.c index 33cea12..2b1d0a7 100644 --- a/src/references.c +++ b/src/references.c @@ -16,7 +16,7 @@ refhash(const unsigned char *link_ref)  	return hash;  } -static void reference_free(reference *ref) +static void reference_free(cmark_reference *ref)  {  	if(ref != NULL) {  		free(ref->label); @@ -56,9 +56,9 @@ static unsigned char *normalize_reference(chunk *ref)  	return result;  } -static void add_reference(reference_map *map, reference* ref) +static void add_reference(cmark_reference_map *map, cmark_reference* ref)  { -	reference *t = ref->next = map->table[ref->hash % REFMAP_SIZE]; +	cmark_reference *t = ref->next = map->table[ref->hash % REFMAP_SIZE];  	while (t) {  		if (t->hash == ref->hash && @@ -73,16 +73,17 @@ static void add_reference(reference_map *map, reference* ref)  	map->table[ref->hash % REFMAP_SIZE] = ref;  } -extern void reference_create(reference_map *map, chunk *label, chunk *url, chunk *title) +void cmark_reference_create(cmark_reference_map *map, chunk *label, chunk *url, +			    chunk *title)  { -	reference *ref; +	cmark_reference *ref;  	unsigned char *reflabel = normalize_reference(label);  	/* empty reference name, or composed from only whitespace */  	if (reflabel == NULL)  		return; -	ref = (reference *)calloc(1, sizeof(*ref)); +	ref = (cmark_reference *)calloc(1, sizeof(*ref));  	if(ref != NULL) {  		ref->label = reflabel;  		ref->hash = refhash(ref->label); @@ -96,9 +97,9 @@ extern void reference_create(reference_map *map, chunk *label, chunk *url, chunk  // Returns reference if refmap contains a reference with matching  // label, otherwise NULL. -reference* reference_lookup(reference_map *map, chunk *label) +cmark_reference* cmark_reference_lookup(cmark_reference_map *map, chunk *label)  { -	reference *ref = NULL; +	cmark_reference *ref = NULL;  	unsigned char *norm;  	unsigned int hash; @@ -126,7 +127,7 @@ reference* reference_lookup(reference_map *map, chunk *label)  	return ref;  } -void reference_map_free(reference_map *map) +void cmark_reference_map_free(cmark_reference_map *map)  {  	unsigned int i; @@ -134,8 +135,8 @@ void reference_map_free(reference_map *map)  		return;  	for (i = 0; i < REFMAP_SIZE; ++i) { -		reference *ref = map->table[i]; -		reference *next; +		cmark_reference *ref = map->table[i]; +		cmark_reference *next;  		while (ref) {  			next = ref->next; @@ -147,7 +148,7 @@ void reference_map_free(reference_map *map)  	free(map);  } -reference_map *reference_map_new(void) +cmark_reference_map *cmark_reference_map_new(void)  { -	return (reference_map *)calloc(1, sizeof(reference_map)); +	return (cmark_reference_map *)calloc(1, sizeof(cmark_reference_map));  } diff --git a/src/references.h b/src/references.h index 572178d..69325bb 100644 --- a/src/references.h +++ b/src/references.h @@ -30,15 +30,6 @@ void cmark_reference_map_free(cmark_reference_map *map);  cmark_reference* cmark_reference_lookup(cmark_reference_map *map, cmark_chunk *label);  extern void cmark_reference_create(cmark_reference_map *map, cmark_chunk *label, cmark_chunk *url, cmark_chunk *title); -#ifndef CMARK_NO_SHORT_NAMES -  #define reference             cmark_reference -  #define reference_map         cmark_reference_map -  #define reference_map_new     cmark_reference_map_new -  #define reference_map_free    cmark_reference_map_free -  #define reference_lookup      cmark_reference_lookup -  #define reference_create      cmark_reference_create -#endif -  #ifdef __cplusplus  }  #endif | 
