diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/content-parser.c | 5 | ||||
| -rw-r--r-- | src/directives.c | 5 | ||||
| -rw-r--r-- | src/directives.h | 3 | ||||
| -rw-r--r-- | src/error.c | 3 | ||||
| -rw-r--r-- | src/error.h | 1 | 
5 files changed, 13 insertions, 4 deletions
| diff --git a/src/content-parser.c b/src/content-parser.c index 042f308..a9ab9af 100644 --- a/src/content-parser.c +++ b/src/content-parser.c @@ -1114,8 +1114,11 @@ hr:              case CONTENT_DIRECTIVE_PARAM_END:  param_end:                  if (c == '\n' || c == '\r' || is_last) { +                    // FIXME: handle errors in the rest of the parser. +                    blogc_error_t *err = NULL;                      char *rv_d = blogc_directive_loader(directive_name, -                        directive_argument, directive_params); +                        directive_argument, directive_params, &err); +                    blogc_error_print(err);                      if (rv_d != NULL)                          b_string_append(rv, rv_d);                      free(rv_d); diff --git a/src/directives.c b/src/directives.c index 7a6b47f..5ff3b4d 100644 --- a/src/directives.c +++ b/src/directives.c @@ -11,10 +11,11 @@  #endif /* HAVE_CONFIG_H */  #include "utils/utils.h" - +#include "error.h"  char* -blogc_directive_loader(const char *name, const char *argument, b_trie_t *params) +blogc_directive_loader(const char *name, const char *argument, b_trie_t *params, +    blogc_error_t **err)  {      // TODO: implement me!      return b_strdup("TODO\n"); diff --git a/src/directives.h b/src/directives.h index fa758e2..d03102a 100644 --- a/src/directives.h +++ b/src/directives.h @@ -10,8 +10,9 @@  #define _DIRECTIVES_H  #include "utils/utils.h" +#include "error.h"  char* blogc_directive_loader(const char *name, const char *argument, -    b_trie_t *params); +    b_trie_t *params, blogc_error_t **err);  #endif /* _DIRECTIVES_H */ diff --git a/src/error.c b/src/error.c index 28396f8..e472d1f 100644 --- a/src/error.c +++ b/src/error.c @@ -125,6 +125,9 @@ blogc_error_print(blogc_error_t *err)          case BLOGC_WARNING_DATETIME_PARSER:              fprintf(stderr, "blogc: warning: datetime: %s\n", err->msg);              break; +        case BLOGC_WARNING_CONTENT_PARSER: +            fprintf(stderr, "blogc: warning: content: %s\n", err->msg); +            break;          default:              fprintf(stderr, "blogc: error: %s\n", err->msg);      } diff --git a/src/error.h b/src/error.h index 845a316..02ccc96 100644 --- a/src/error.h +++ b/src/error.h @@ -17,6 +17,7 @@ typedef enum {      BLOGC_ERROR_TEMPLATE_PARSER,      BLOGC_ERROR_LOADER,      BLOGC_WARNING_DATETIME_PARSER, +    BLOGC_WARNING_CONTENT_PARSER,  } blogc_error_type_t;  typedef struct { | 
