diff options
author | Adrian Thurston <thurston@colm.net> | 2018-06-18 09:55:53 +0700 |
---|---|---|
committer | Adrian Thurston <thurston@colm.net> | 2018-06-18 09:55:53 +0700 |
commit | d83bedd9144c55d949993f538a50d2a246a8de92 (patch) | |
tree | d751ef8abe4e1a7fb7e1e6e292f816ca6670b74e /src | |
parent | c932e9374df3be4e91723ef7584a6693157e1e26 (diff) | |
download | colm-d83bedd9144c55d949993f538a50d2a246a8de92.tar.gz |
added destructor to stream functions
Diffstat (limited to 'src')
-rw-r--r-- | src/ctinput.cc | 10 | ||||
-rw-r--r-- | src/input.c | 14 | ||||
-rw-r--r-- | src/input.h | 4 |
3 files changed, 26 insertions, 2 deletions
diff --git a/src/ctinput.cc b/src/ctinput.cc index c1840096..6aea70ce 100644 --- a/src/ctinput.cc +++ b/src/ctinput.cc @@ -82,6 +82,10 @@ LangEl *inputStreamPatternGetLangEl( struct stream_impl_ct *ss, long *bindId, return klangEl; } +void inputStreamPatternDestructor( struct stream_impl_ct *ss ) +{ +} + int inputStreamPatternGetParseBlock( struct stream_impl_ct *ss, int skip, char **pdp, int *copied ) { @@ -223,6 +227,7 @@ int inputStreamPatternUndoConsumeData( struct stream_impl_ct *ss, const char *da stream_funcs patternFuncs = { + (destructor_t) &inputStreamPatternDestructor, (get_parse_block_t) &inputStreamPatternGetParseBlock, (get_data_t) &inputStreamPatternGetData, (consume_data_t) &inputStreamPatternConsumeData, @@ -274,6 +279,10 @@ LangEl *inputStreamConsGetLangEl( struct stream_impl_ct *ss, long *bindId, char return klangEl; } +void inputStreamConsDestructor( struct stream_impl_ct *ss ) +{ +} + int inputStreamConsGetParseBlock( struct stream_impl_ct *ss, int skip, char **pdp, int *copied ) { @@ -428,6 +437,7 @@ int inputStreamConsUndoConsumeData( struct stream_impl_ct *ss, const char *data, stream_funcs replFuncs = { + (destructor_t) &inputStreamConsDestructor, (get_parse_block_t) &inputStreamConsGetParseBlock, (get_data_t) &inputStreamConsGetData, (consume_data_t) &inputStreamConsConsumeData, diff --git a/src/input.c b/src/input.c index 3b1ec8b9..24e02a40 100644 --- a/src/input.c +++ b/src/input.c @@ -316,6 +316,9 @@ static int data_get_data( struct stream_impl_data *ss, char *dest, int length ) return copied; } +static void data_destructor( struct stream_impl_data *si ) +{ +} static int data_get_parse_block( struct stream_impl_data *ss, int skip, char **pdp, int *copied ) { @@ -599,6 +602,10 @@ static void stream_unset_eof( struct stream_impl_seq *is ) } } +static void stream_destructor( struct stream_impl_seq *is ) +{ +} + static int stream_get_parse_block( struct stream_impl_seq *is, int skip, char **pdp, int *copied ) { int ret = 0; @@ -1133,6 +1140,7 @@ static tree_t *stream_undo_append_stream( struct stream_impl_seq *is ) struct stream_funcs stream_funcs = { + (destructor_t) &stream_destructor, (get_parse_block_t) &stream_get_parse_block, (get_data_t) &stream_get_data, (consume_data_t) &stream_consume_data, @@ -1160,8 +1168,9 @@ struct stream_funcs stream_funcs = struct stream_funcs file_funcs = { - .get_data = (get_data_t) &data_get_data, + .destructor = (destructor_t) &data_destructor, .get_parse_block = (get_parse_block_t) &data_get_parse_block, + .get_data = (get_data_t) &data_get_data, .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, @@ -1169,8 +1178,9 @@ struct stream_funcs file_funcs = struct stream_funcs text_funcs = { - .get_data = (get_data_t) &data_get_data, + .destructor = (destructor_t) &data_destructor, .get_parse_block = (get_parse_block_t) &data_get_parse_block, + .get_data = (get_data_t) &data_get_data, .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, diff --git a/src/input.h b/src/input.h index 496b962f..b3a80614 100644 --- a/src/input.h +++ b/src/input.h @@ -75,6 +75,8 @@ struct run_buf struct run_buf *new_run_buf( int sz ); +typedef void (*destructor_t)( struct stream_impl *si ); + typedef int (*get_parse_block_t)( struct stream_impl *si, int skip, char **pdp, int *copied ); /* Probably this should be replaced with get_parse_block calls. */ @@ -122,6 +124,8 @@ typedef struct colm_tree *(*undo_append_stream_t)( struct stream_impl *si ); struct stream_funcs { + destructor_t destructor; + int (*get_parse_block)( struct stream_impl *si, int skip, char **pdp, int *copied ); int (*get_data)( struct stream_impl *si, char *dest, int length ); |