summaryrefslogtreecommitdiff
path: root/src/base/textFile.c
diff options
context:
space:
mode:
authorConnor Thomson <blumatrikz@gmail.com>2026-09-08 18:27:39 -0700
committerConnor Thomson <blumatrikz@gmail.com>2026-09-08 18:27:39 -0700
commitf1ddc12b68b4e4c8087962de25260470e6df2bea (patch)
tree7d0440a6402a9b0ef75ded23fa64b68534255bba /src/base/textFile.c
parent6025860a61386bf767b29c3ec5fd0d31285f1056 (diff)
Add tuxanci2 files
Diffstat (limited to 'src/base/textFile.c')
-rw-r--r--src/base/textFile.c151
1 files changed, 0 insertions, 151 deletions
diff --git a/src/base/textFile.c b/src/base/textFile.c
deleted file mode 100644
index b1c2ad9..0000000
--- a/src/base/textFile.c
+++ /dev/null
@@ -1,151 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/stat.h>
-#include <assert.h>
-#include <unistd.h>
-
-#include "main.h"
-#include "textFile.h"
-
-textFile_t *text_file_new(char *s)
-{
- textFile_t *new;
- char path[STR_PATH_SIZE];
-
- assert(s != NULL);
-
- if (isFillPath(s)) {
- strcpy(path, s);
- } else {
- getcwd(path, STR_PATH_SIZE);
- strcat(path, PATH_SEPARATOR);
- strcat(path, s);
- }
-
- new = malloc(sizeof(textFile_t));
- new->file = strdup(path);
- new->text = list_new();
-
- return new;
-}
-
-static void createLine(list_t *list, char *p, int len)
-{
- char *line;
- char *begin_line;
- char *end_line;
- int length_line = 0;
-
- assert(list != NULL);
- assert(p != NULL);
- assert(len >= 0);
-
- begin_line = p;
-
- do {
- end_line = memchr(begin_line, '\n', len);
-
- if (end_line == NULL) {
- break;
- }
-
- length_line = (int) (end_line - begin_line);
-
- line = malloc((length_line + 1) * sizeof(char));
- memset(line, 0, (length_line + 1) * sizeof(char));
- strncpy(line, begin_line, length_line);
-
- list_add(list, line);
- len -= (length_line + 1);
-
- begin_line = end_line + 1;
-
- } while (begin_line != NULL);
-}
-
-/**
- * Loads file *s and returns him formatted to textFile_t*
- */
-textFile_t *text_file_load(char *s)
-{
- FILE *file;
- textFile_t *ret;
- char *p;
- int file_length = 0;
- struct stat buf;
-
- assert(s != NULL);
-
- if (lstat(s, &buf) < 0) {
- error("Unable to get file status [%s]", s);
- return NULL;
- }
-
- file_length = buf.st_size;
- if ((file = fopen(s, "rb")) == NULL) {
- error("Unable to open file for reading [%s]", s);
- return NULL;
- }
-
- p = malloc(file_length * sizeof(char));
-
- if (fread(p, file_length * sizeof(char), 1, file) != 1) {
- error("Unable to read data from file [%s]", s);
- fclose(file);
- return NULL;
- }
-
- fclose(file);
-
- ret = text_file_new(s);
- createLine(ret->text, p, file_length);
-
- free(p);
-
- return ret;
-}
-
-/**
- * Prints the text saved in *p into stdout
- */
-void text_file_print(textFile_t *p)
-{
- int i;
-
- assert(p != NULL);
-
- debug("Printing file [%s]", p->file);
-
- for (i = 0; i < p->text->count; i++) {
- printf("%3d >> %s\n", i, (char *) p->text->list[i]);
- }
-}
-
-void text_file_save(textFile_t *p)
-{
- int i;
- FILE *file;
-
- assert(p != NULL);
-
- file = fopen(p->file, "wb");
-
- for (i = 0; i < p->text->count; i++) {
- fprintf(file, "%s\n", (char *) p->text->list[i]);
- }
-
- fclose(file);
-}
-
-/**
- * Removes text saved in *p from the memory
- */
-void text_file_destroy(textFile_t *p)
-{
- assert(p != NULL);
-
- free(p->file);
- list_destroy_item(p->text, free);
- free(p);
-}