| summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'src/file')
| -rw-r--r-- | src/file/data_input.c | 98 | ||||
| -rw-r--r-- | src/file/data_input.h | 21 | ||||
| -rw-r--r-- | src/file/data_input_types.h | 16 | ||||
| -rw-r--r-- | src/file/data_output.c | 66 | ||||
| -rw-r--r-- | src/file/data_output.h | 11 |
5 files changed, 0 insertions, 212 deletions
diff --git a/src/file/data_input.c b/src/file/data_input.c deleted file mode 100644 index e31d33b..0000000 --- a/src/file/data_input.c +++ /dev/null @@ -1,98 +0,0 @@ -#define _POSIX_C_SOURCE 200809L -#include <stdlib.h> -#include <string.h> -#include <stdint.h> /* defines SIZE_MAX */ - -#include "error.h" - -#include "data_input.h" - -int ZoO_data_input_open -( - struct ZoO_data_input di [const static 1], - const char filename [const restrict static 1] -) -{ - /* prevents di [restrict] */ - ZoO_strings_initialize(&(di->string)); - - di->file = fopen(filename, "r"); - - if (di->file == (FILE *) NULL) - { - ZoO_ERROR - ( - "Could not open file '%s' in readonly mode.", - filename - ); - - return -1; - } - - return 0; -} - -int ZoO_data_input_read_line -( - struct ZoO_data_input di [const static 1], - ZoO_index const punctuations_count, - const ZoO_char punctuations [const restrict static punctuations_count] -) -{ - size_t line_size, i, w_start; - ZoO_char * line; - - /* prevents di [restrict] */ - ZoO_strings_finalize(&(di->string)); - - line = (ZoO_char *) NULL; - line_size = 0; - - /* XXX: assumed compatible with ZoO_char */ - - if (getline(&line, &line_size, di->file) < 1) - { - free((void *) line); - - return -1; - } - - line_size = strlen(line); - line[line_size - 1] = '\0'; - - --line_size; /* removed '\n' */ - - if - ( - ZoO_strings_parse - ( - &(di->string), - line_size, - line, - punctuations_count, - punctuations - ) < 0 - ) - { - free((void *) line); - - return -1; - } - - free((void *) line); - - return 0; -} - -void ZoO_data_input_close (struct ZoO_data_input di [const static 1]) -{ - if (di->file != (FILE *) NULL) - { - fclose(di->file); - - di->file = (FILE *) NULL; - } - - /* prevents di [restrict] */ - ZoO_strings_finalize(&(di->string)); -} diff --git a/src/file/data_input.h b/src/file/data_input.h deleted file mode 100644 index a2f004b..0000000 --- a/src/file/data_input.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef _ZoO_IO_DATA_INPUT_H_ -#define _ZoO_IO_DATA_INPUT_H_ - -#include "data_input_types.h" - -int ZoO_data_input_open -( - struct ZoO_data_input di [const static 1], - const char filename [const restrict static 1] -); - -int ZoO_data_input_read_line -( - struct ZoO_data_input di [const static 1], - ZoO_index const punctuations_count, - const ZoO_char punctuations [const restrict static punctuations_count] -); - -void ZoO_data_input_close (struct ZoO_data_input di [const static 1]); - -#endif diff --git a/src/file/data_input_types.h b/src/file/data_input_types.h deleted file mode 100644 index bd2709b..0000000 --- a/src/file/data_input_types.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef _ZoO_IO_DATA_INPUT_TYPES_H_ -#define _ZoO_IO_DATA_INPUT_TYPES_H_ - -#include <stdio.h> - -#include "../pervasive.h" - -#include "../tool/strings.h" - -struct ZoO_data_input -{ - FILE * restrict file; - struct ZoO_strings string; -}; - -#endif diff --git a/src/file/data_output.c b/src/file/data_output.c deleted file mode 100644 index 04e3964..0000000 --- a/src/file/data_output.c +++ /dev/null @@ -1,66 +0,0 @@ -#define _POSIX_C_SOURCE 200809L - -#include <stdlib.h> -#include <string.h> -#include <errno.h> -#include <stdint.h> /* defines SIZE_MAX */ -#include <stdio.h> - -#include "error.h" - -#include "data_output.h" - -int ZoO_data_output_write_line -( - const char filename [const restrict static 1], - char line [const restrict static 1], - size_t const line_size -) -{ - const int old_errno = errno; - FILE * file; - - file = fopen(filename, "a"); - - if (file == (FILE *) NULL) - { - ZoO_ERROR - ( - "Could not open file '%s' in appending mode.", - filename - ); - - return -1; - } - - line[line_size - 1] = '\n'; - - if - ( - fwrite - ( - (const void *) line, - sizeof(char), - line_size, - file - ) < line_size - ) - { - line[line_size - 1] = '\0'; - - ZoO_ERROR - ( - "Could not store line '%s' in %s.", - line, - filename - ); - - fclose(file); - - return -1; - } - - fclose(file); - - return 0; -} diff --git a/src/file/data_output.h b/src/file/data_output.h deleted file mode 100644 index ef963a0..0000000 --- a/src/file/data_output.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef _ZoO_IO_DATA_OUTPUT_H_ -#define _ZoO_IO_DATA_OUTPUT_H_ - -int ZoO_data_output_write_line -( - const char filename [const restrict static 1], - char line [const restrict static 1], - size_t const line_size -); - -#endif |


