From ba1b04d64bdfaf377915b22f77520216ebe47674 Mon Sep 17 00:00:00 2001 From: kx Date: Thu, 1 Oct 2026 12:02:28 +0300 Subject: Version 1.0.2 --- src/mcpp-source.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/mcpp-source.h (limited to 'src/mcpp-source.h') diff --git a/src/mcpp-source.h b/src/mcpp-source.h new file mode 100644 index 0000000..9a7973a --- /dev/null +++ b/src/mcpp-source.h @@ -0,0 +1,35 @@ +#ifndef __MCPU_CPP_SOURCE_H__ +#define __MCPU_CPP_SOURCE_H__ 1 + +#include +#include + +#define MCPU_CPP_NON_UCS2_SENTINEL 0xd800 + +typedef struct mcpu_source mcpu_source; +struct mcpu_source +{ + char *filename; + mcpu_text text; + mcpu_text logical_line; + size_t *splice_offsets; + size_t splice_count; + size_t splice_capacity; + size_t offset; + unsigned line; +}; + +void mcpu_source_init( mcpu_source *source ); +void mcpu_source_free( mcpu_source *source ); +int mcpu_source_open( mcpu_source *source, const char *filename ); +int mcpu_source_open_stream( mcpu_source *source, FILE *stream, + const char *name ); +int mcpu_source_valid_ucs2( const __mpu_char16_t *text, size_t length ); +int mcpu_source_next_line( mcpu_source *source, + const __mpu_char16_t **line, + size_t *length, + unsigned *line_number, + unsigned *next_line_number, + int *spliced ); + +#endif /* __MCPU_CPP_SOURCE_H__ */ -- cgit v1.2.3