Repository: lucy-clownfish
Updated Branches:
  refs/heads/markdown_v2 8776f81f9 -> 3d7c5ed36


http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/3d7c5ed3/compiler/modules/CommonMark/src/inlines.c
----------------------------------------------------------------------
diff --git a/compiler/modules/CommonMark/src/inlines.c 
b/compiler/modules/CommonMark/src/inlines.c
index 643837b..08a934b 100644
--- a/compiler/modules/CommonMark/src/inlines.c
+++ b/compiler/modules/CommonMark/src/inlines.c
@@ -8,7 +8,7 @@
 #include "parser.h"
 #include "references.h"
 #include "cmark.h"
-#include "html/houdini.h"
+#include "houdini.h"
 #include "utf8.h"
 #include "scanners.h"
 #include "inlines.h"

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/3d7c5ed3/compiler/modules/CommonMark/src/libcmark.pc.in
----------------------------------------------------------------------
diff --git a/compiler/modules/CommonMark/src/libcmark.pc.in 
b/compiler/modules/CommonMark/src/libcmark.pc.in
new file mode 100644
index 0000000..9c3a9a9
--- /dev/null
+++ b/compiler/modules/CommonMark/src/libcmark.pc.in
@@ -0,0 +1,10 @@
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=@CMAKE_INSTALL_PREFIX@
+libdir=@CMAKE_INSTALL_PREFIX@/lib
+includedir=@CMAKE_INSTALL_PREFIX@/include
+
+Name: libcmark
+Description: CommonMark parsing, rendering, and manipulation
+Version: @PROJECT_VERSION@
+Libs: -L${libdir} -lcmark
+Cflags: -I${includedir}

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/3d7c5ed3/compiler/modules/CommonMark/src/node.c
----------------------------------------------------------------------
diff --git a/compiler/modules/CommonMark/src/node.c 
b/compiler/modules/CommonMark/src/node.c
index fd92fdc..243c3e6 100644
--- a/compiler/modules/CommonMark/src/node.c
+++ b/compiler/modules/CommonMark/src/node.c
@@ -77,13 +77,22 @@ cmark_node_free(cmark_node *node) {
 cmark_node_type
 cmark_node_get_type(cmark_node *node)
 {
-       return node->type;
+       if (node == NULL) {
+               return CMARK_NODE_NONE;
+       } else {
+               return node->type;
+       }
 }
 
 static const char*
 S_type_string(cmark_node *node)
 {
+       if (node == NULL) {
+               return "NONE";
+       }
+
        switch (node->type) {
+       case CMARK_NODE_NONE:          return "NONE";
        case CMARK_NODE_DOCUMENT:      return "DOCUMENT";
        case CMARK_NODE_BLOCK_QUOTE:   return "BLOCK_QUOTE";
        case CMARK_NODE_LIST:          return "LIST";
@@ -111,31 +120,51 @@ S_type_string(cmark_node *node)
 cmark_node*
 cmark_node_next(cmark_node *node)
 {
-       return node->next;
+       if (node == NULL) {
+               return NULL;
+       } else {
+               return node->next;
+       }
 }
 
 cmark_node*
 cmark_node_previous(cmark_node *node)
 {
-       return node->prev;
+       if (node == NULL) {
+               return NULL;
+       } else {
+               return node->prev;
+       }
 }
 
 cmark_node*
 cmark_node_parent(cmark_node *node)
 {
-       return node->parent;
+       if (node == NULL) {
+               return NULL;
+       } else {
+               return node->parent;
+       }
 }
 
 cmark_node*
 cmark_node_first_child(cmark_node *node)
 {
-       return node->first_child;
+       if (node == NULL) {
+               return NULL;
+       } else {
+               return node->first_child;
+       }
 }
 
 cmark_node*
 cmark_node_last_child(cmark_node *node)
 {
-       return node->last_child;
+       if (node == NULL) {
+               return NULL;
+       } else {
+               return node->last_child;
+       }
 }
 
 static char*
@@ -148,6 +177,10 @@ S_strdup(const char *str) {
 
 const char*
 cmark_node_get_string_content(cmark_node *node) {
+       if (node == NULL) {
+               return NULL;
+       }
+
        switch (node->type) {
        case NODE_CODE_BLOCK:
        case NODE_HTML:
@@ -167,6 +200,10 @@ cmark_node_get_string_content(cmark_node *node) {
 
 int
 cmark_node_set_string_content(cmark_node *node, const char *content) {
+       if (node == NULL) {
+               return 0;
+       }
+
        switch (node->type) {
        case NODE_CODE_BLOCK:
        case NODE_HTML:
@@ -188,6 +225,10 @@ cmark_node_set_string_content(cmark_node *node, const char 
*content) {
 
 int
 cmark_node_get_header_level(cmark_node *node) {
+       if (node == NULL) {
+               return 0;
+       }
+
        switch (node->type) {
        case CMARK_NODE_HEADER:
                return node->as.header.level;
@@ -201,7 +242,7 @@ cmark_node_get_header_level(cmark_node *node) {
 
 int
 cmark_node_set_header_level(cmark_node *node, int level) {
-       if (level < 1 || level > 6) {
+       if (node == NULL || level < 1 || level > 6) {
                return 0;
        }
 
@@ -219,6 +260,10 @@ cmark_node_set_header_level(cmark_node *node, int level) {
 
 cmark_list_type
 cmark_node_get_list_type(cmark_node *node) {
+       if (node == NULL) {
+               return CMARK_NO_LIST;
+       }
+
        if (node->type == CMARK_NODE_LIST) {
                return node->as.list.list_type;
        }
@@ -233,6 +278,10 @@ cmark_node_set_list_type(cmark_node *node, cmark_list_type 
type) {
                return 0;
        }
 
+       if (node == NULL) {
+               return 0;
+       }
+
        if (node->type == CMARK_NODE_LIST) {
                node->as.list.list_type = type;
                return 1;
@@ -244,6 +293,10 @@ cmark_node_set_list_type(cmark_node *node, cmark_list_type 
type) {
 
 int
 cmark_node_get_list_start(cmark_node *node) {
+       if (node == NULL) {
+               return 0;
+       }
+
        if (node->type == CMARK_NODE_LIST) {
                return node->as.list.start;
        }
@@ -254,7 +307,7 @@ cmark_node_get_list_start(cmark_node *node) {
 
 int
 cmark_node_set_list_start(cmark_node *node, int start) {
-       if (start < 0) {
+       if (node == NULL || start < 0) {
                return 0;
        }
 
@@ -269,6 +322,10 @@ cmark_node_set_list_start(cmark_node *node, int start) {
 
 int
 cmark_node_get_list_tight(cmark_node *node) {
+       if (node == NULL) {
+               return 0;
+       }
+
        if (node->type == CMARK_NODE_LIST) {
                return node->as.list.tight;
        }
@@ -279,6 +336,10 @@ cmark_node_get_list_tight(cmark_node *node) {
 
 int
 cmark_node_set_list_tight(cmark_node *node, int tight) {
+       if (node == NULL) {
+               return 0;
+       }
+
        if (node->type == CMARK_NODE_LIST) {
                node->as.list.tight = tight;
                return 1;
@@ -290,6 +351,10 @@ cmark_node_set_list_tight(cmark_node *node, int tight) {
 
 const char*
 cmark_node_get_fence_info(cmark_node *node) {
+       if (node == NULL) {
+               return NULL;
+       }
+
        if (node->type == NODE_CODE_BLOCK) {
                return cmark_strbuf_cstr(&node->as.code.info);
        }
@@ -300,6 +365,10 @@ cmark_node_get_fence_info(cmark_node *node) {
 
 int
 cmark_node_set_fence_info(cmark_node *node, const char *info) {
+       if (node == NULL) {
+               return 0;
+       }
+
        if (node->type == NODE_CODE_BLOCK) {
                cmark_strbuf_sets(&node->as.code.info, info);
                return 1;
@@ -311,6 +380,10 @@ cmark_node_set_fence_info(cmark_node *node, const char 
*info) {
 
 const char*
 cmark_node_get_url(cmark_node *node) {
+       if (node == NULL) {
+               return NULL;
+       }
+
        switch (node->type) {
        case NODE_LINK:
        case NODE_IMAGE:
@@ -324,6 +397,10 @@ cmark_node_get_url(cmark_node *node) {
 
 int
 cmark_node_set_url(cmark_node *node, const char *url) {
+       if (node == NULL) {
+               return 0;
+       }
+
        switch (node->type) {
        case NODE_LINK:
        case NODE_IMAGE:
@@ -339,6 +416,10 @@ cmark_node_set_url(cmark_node *node, const char *url) {
 
 const char*
 cmark_node_get_title(cmark_node *node) {
+       if (node == NULL) {
+               return NULL;
+       }
+
        switch (node->type) {
        case NODE_LINK:
        case NODE_IMAGE:
@@ -352,6 +433,10 @@ cmark_node_get_title(cmark_node *node) {
 
 int
 cmark_node_set_title(cmark_node *node, const char *title) {
+       if (node == NULL) {
+               return 0;
+       }
+
        switch (node->type) {
        case NODE_LINK:
        case NODE_IMAGE:
@@ -367,27 +452,42 @@ cmark_node_set_title(cmark_node *node, const char *title) 
{
 
 int
 cmark_node_get_start_line(cmark_node *node) {
+       if (node == NULL) {
+               return 0;
+       }
        return node->start_line;
 }
 
 int
 cmark_node_get_start_column(cmark_node *node) {
+       if (node == NULL) {
+               return 0;
+       }
        return node->start_column;
 }
 
 int
 cmark_node_get_end_line(cmark_node *node) {
+       if (node == NULL) {
+               return 0;
+       }
        return node->end_line;
 }
 
 static inline bool
 S_is_block(cmark_node *node) {
+       if (node == NULL) {
+               return false;
+       }
        return node->type >= CMARK_NODE_FIRST_BLOCK
               && node->type <= CMARK_NODE_LAST_BLOCK;
 }
 
 static inline bool
 S_is_inline(cmark_node *node) {
+       if (node == NULL) {
+               return false;
+       }
        return node->type >= CMARK_NODE_FIRST_INLINE
               && node->type <= CMARK_NODE_LAST_INLINE;
 }
@@ -397,6 +497,10 @@ S_can_contain(cmark_node *node, cmark_node *child)
 {
        cmark_node *cur;
 
+       if (node == NULL || child == NULL) {
+               return false;
+       }
+
        // Verify that child is not an ancestor of node or equal to node.
        cur = node;
        do {
@@ -439,6 +543,10 @@ S_can_contain(cmark_node *node, cmark_node *child)
 static void
 S_node_unlink(cmark_node *node)
 {
+       if (node == NULL) {
+               return;
+       }
+
        if (node->prev) {
                node->prev->next = node->next;
        }
@@ -471,6 +579,10 @@ cmark_node_unlink(cmark_node *node) {
 int
 cmark_node_insert_before(cmark_node *node, cmark_node *sibling)
 {
+       if (node == NULL || sibling == NULL) {
+               return 0;
+       }
+
        if (!node->parent || !S_can_contain(node->parent, sibling)) {
                return 0;
        }
@@ -502,6 +614,10 @@ cmark_node_insert_before(cmark_node *node, cmark_node 
*sibling)
 int
 cmark_node_insert_after(cmark_node *node, cmark_node *sibling)
 {
+       if (node == NULL || sibling == NULL) {
+               return 0;
+       }
+
        if (!node->parent || !S_can_contain(node->parent, sibling)) {
                return 0;
        }
@@ -651,5 +767,3 @@ cmark_node_check(cmark_node *node, FILE *out)
 
        return errors;
 }
-
-

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/3d7c5ed3/compiler/modules/CommonMark/src/scanners.c
----------------------------------------------------------------------
diff --git a/compiler/modules/CommonMark/src/scanners.c 
b/compiler/modules/CommonMark/src/scanners.c
index 5db2736..6728c07 100644
--- a/compiler/modules/CommonMark/src/scanners.c
+++ b/compiler/modules/CommonMark/src/scanners.c
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Tue Nov 18 21:33:36 2014 */
+/* Generated by re2c 0.13.6 */
 #include <stdlib.h>
 #include "chunk.h"
 #include "scanners.h"
@@ -10506,7 +10506,7 @@ yy1114:
 yy1115:
        p = marker;
        if (yyaccept <= 1) {
-               if (yyaccept <= 0) {
+               if (yyaccept == 0) {
                        goto yy1103;
                } else {
                        goto yy1110;
@@ -10890,13 +10890,13 @@ yy1147:
 yy1148:
        p = marker;
        if (yyaccept <= 1) {
-               if (yyaccept <= 0) {
+               if (yyaccept == 0) {
                        goto yy1141;
                } else {
                        goto yy1152;
                }
        } else {
-               if (yyaccept <= 2) {
+               if (yyaccept == 2) {
                        goto yy1159;
                } else {
                        goto yy1166;
@@ -11670,7 +11670,7 @@ yy1275:
        }
 yy1276:
        p = marker;
-       if (yyaccept <= 0) {
+       if (yyaccept == 0) {
                goto yy1271;
        } else {
                goto yy1283;

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/3d7c5ed3/compiler/modules/CommonMark/src/scanners.h
----------------------------------------------------------------------
diff --git a/compiler/modules/CommonMark/src/scanners.h 
b/compiler/modules/CommonMark/src/scanners.h
index 3269112..aa5c00d 100644
--- a/compiler/modules/CommonMark/src/scanners.h
+++ b/compiler/modules/CommonMark/src/scanners.h
@@ -1,4 +1,5 @@
 #include "cmark.h"
+#include "chunk.h"
 
 #ifdef __cplusplus
 extern "C" {

Reply via email to