summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ctinput.cc24
-rw-r--r--src/input.c82
2 files changed, 54 insertions, 52 deletions
diff --git a/src/ctinput.cc b/src/ctinput.cc
index c0aefd4b..0a04267d 100644
--- a/src/ctinput.cc
+++ b/src/ctinput.cc
@@ -206,14 +206,14 @@ int inputStreamPatternUndoConsumeData( struct stream_impl *ss, const char *data,
stream_funcs patternFuncs =
{
- &inputStreamPatternGetParseBlock,
- &inputStreamPatternGetData,
- &inputStreamPatternConsumeData,
- &inputStreamPatternUndoConsumeData,
+ (get_parse_block_t) &inputStreamPatternGetParseBlock,
+ (get_data_t) &inputStreamPatternGetData,
+ (consume_data_t) &inputStreamPatternConsumeData,
+ (undo_consume_data_t) &inputStreamPatternUndoConsumeData,
0,
0,
- &inputStreamPatternGetLangEl,
- &inputStreamPatternUndoConsumeLangEl,
+ (consume_lang_el_t) &inputStreamPatternGetLangEl,
+ (undo_consume_lang_el_t) &inputStreamPatternUndoConsumeLangEl,
};
@@ -412,14 +412,14 @@ int inputStreamConsUndoConsumeData( struct stream_impl *ss, const char *data, in
stream_funcs replFuncs =
{
- &inputStreamConsGetParseBlock,
- &inputStreamConsGetData,
- &inputStreamConsConsumeData,
- &inputStreamConsUndoConsumeData,
+ (get_parse_block_t) &inputStreamConsGetParseBlock,
+ (get_data_t) &inputStreamConsGetData,
+ (consume_data_t) &inputStreamConsConsumeData,
+ (undo_consume_data_t) &inputStreamConsUndoConsumeData,
0,
0,
- &inputStreamConsGetLangEl,
- &inputStreamConsUndoConsumeLangEl,
+ (consume_lang_el_t) &inputStreamConsGetLangEl,
+ (undo_consume_lang_el_t) &inputStreamConsUndoConsumeLangEl,
};
void pushBinding( pda_run *pdaRun, parse_tree_t *parseTree )
diff --git a/src/input.c b/src/input.c
index 6eddb9a7..29772ed0 100644
--- a/src/input.c
+++ b/src/input.c
@@ -79,8 +79,8 @@ void init_file_funcs();
void init_pat_funcs();
void init_cons_funcs();
-extern struct stream_funcs file_funcs;
extern struct stream_funcs stream_funcs;
+extern struct stream_funcs file_funcs;
extern struct stream_funcs text_funcs;
static bool loc_set( location_t *loc )
@@ -231,10 +231,10 @@ static void source_stream_prepend( struct stream_impl *ss, struct run_buf *run_b
}
/*
- * File Inputs.
+ * Data inputs: files, strings, etc.
*/
-static int file_get_data( struct stream_impl *ss, char *dest, int length )
+static int data_get_data( struct stream_impl *ss, char *dest, int length )
{
int copied = 0;
@@ -278,7 +278,7 @@ static int file_get_data( struct stream_impl *ss, char *dest, int length )
}
-static int file_get_parse_block( struct stream_impl *ss, int skip, char **pdp, int *copied )
+static int data_get_parse_block( struct stream_impl *ss, int skip, char **pdp, int *copied )
{
int ret = 0;
*copied = 0;
@@ -337,7 +337,7 @@ static int file_get_parse_block( struct stream_impl *ss, int skip, char **pdp, i
return ret;
}
-static int file_consume_data( program_t *prg, tree_t **sp,
+static int data_consume_data( program_t *prg, tree_t **sp,
struct stream_impl *ss, int length, location_t *loc )
{
int consumed = 0;
@@ -380,7 +380,7 @@ static int file_consume_data( program_t *prg, tree_t **sp,
return consumed;
}
-static int file_undo_consume_data( struct stream_impl *ss, const char *data, int length )
+static int data_undo_consume_data( struct stream_impl *ss, const char *data, int length )
{
struct run_buf *new_buf = new_run_buf( 0 );
new_buf->length = length;
@@ -392,6 +392,10 @@ static int file_undo_consume_data( struct stream_impl *ss, const char *data, int
return length;
}
+/*
+ * File Inputs
+ */
+
static int file_get_data_source( struct stream_impl *si, char *dest, int length )
{
return fread( dest, 1, length, si->file );
@@ -1019,49 +1023,47 @@ static tree_t *stream_undo_append_stream( struct stream_impl *is )
struct stream_funcs stream_funcs =
{
- &stream_get_parse_block,
- &stream_get_data,
- &stream_consume_data,
- &stream_undo_consume_data,
- &stream_consume_tree,
- &stream_undo_consume_tree,
- &stream_consume_lang_el,
- &stream_undo_consume_lang_el,
+ (get_parse_block_t) &stream_get_parse_block,
+ (get_data_t) &stream_get_data,
+ (consume_data_t) &stream_consume_data,
+ (undo_consume_data_t) &stream_undo_consume_data,
+ (consume_tree_t) &stream_consume_tree,
+ (undo_consume_tree_t) &stream_undo_consume_tree,
+ (consume_lang_el_t) &stream_consume_lang_el,
+ (undo_consume_lang_el_t) &stream_undo_consume_lang_el,
0, // source data get, not needed.
- &stream_set_eof,
- &stream_unset_eof,
- &stream_prepend_data,
- &stream_prepend_tree,
- &stream_prepend_stream,
- &stream_undo_prepend_data,
- &stream_undo_prepend_tree,
- 0, // fixme: _add this.
- &stream_append_data,
- &stream_append_tree,
- &stream_append_stream,
- &stream_undo_append_data,
- &stream_undo_append_tree,
- &stream_undo_append_stream,
+ (set_eof_t) &stream_set_eof,
+ (unset_eof_t) &stream_unset_eof,
+ (prepend_data_t) &stream_prepend_data,
+ (prepend_tree_t) &stream_prepend_tree,
+ (prepend_stream_t) &stream_prepend_stream,
+ (undo_prepend_data_t) &stream_undo_prepend_data,
+ (undo_prepend_tree_t) &stream_undo_prepend_tree,
+ (undo_prepend_stream_t) 0, // fixme: _add this.
+ (append_data_t) &stream_append_data,
+ (append_tree_t) &stream_append_tree,
+ (append_stream_t) &stream_append_stream,
+ (undo_append_data_t) &stream_undo_append_data,
+ (undo_append_tree_t) &stream_undo_append_tree,
+ (undo_append_stream_t) &stream_undo_append_stream,
};
struct stream_funcs file_funcs =
{
- .get_data = &file_get_data,
- .get_parse_block = &file_get_parse_block,
- .consume_data = &file_consume_data,
- .undo_consume_data = &file_undo_consume_data,
-
- .get_data_source = &file_get_data_source,
+ .get_data = (get_data_t) &data_get_data,
+ .get_parse_block = (get_parse_block_t) &data_get_parse_block,
+ .consume_data = (consume_data_t) &data_consume_data,
+ .undo_consume_data = (undo_consume_data_t) &data_undo_consume_data,
+ .get_data_source = (get_data_source_t) &file_get_data_source,
};
struct stream_funcs text_funcs =
{
- .get_data = &file_get_data,
- .get_parse_block = &file_get_parse_block,
- .consume_data = &file_consume_data,
- .undo_consume_data = &file_undo_consume_data,
-
- .get_data_source = &text_get_data_source,
+ .get_data = (get_data_t) &data_get_data,
+ .get_parse_block = (get_parse_block_t) &data_get_parse_block,
+ .consume_data = (consume_data_t) &data_consume_data,
+ .undo_consume_data = (undo_consume_data_t) &data_undo_consume_data,
+ .get_data_source = (get_data_source_t) &text_get_data_source,
};
static struct stream_impl *colm_impl_new_file( char *name, FILE *file )