diff options
| author | Anser <rostgans@tutamail.com> | 2026-08-11 00:18:57 +0200 |
|---|---|---|
| committer | Anser <rostgans@tutamail.com> | 2026-08-11 00:18:57 +0200 |
| commit | eb6f986361713d6ce47c6d4572bb24d9f6207ddf (patch) | |
| tree | 3fca62d5cad785acce36a46a660219840c959932 /src/modules/utils | |
| parent | 9ad584b5762433f7c99d7cc7b65ad21ebe4ff932 (diff) | |
TOBESQUISHED: safe in reconstruction of the codes layout and rework of information handeling also ascii art printing
Diffstat (limited to 'src/modules/utils')
| -rw-r--r-- | src/modules/utils/utils.c | 114 | ||||
| -rw-r--r-- | src/modules/utils/utils.h | 21 |
2 files changed, 0 insertions, 135 deletions
diff --git a/src/modules/utils/utils.c b/src/modules/utils/utils.c deleted file mode 100644 index 2e8aa5c..0000000 --- a/src/modules/utils/utils.c +++ /dev/null @@ -1,114 +0,0 @@ -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - - -/* function: char *string_format(char* string) - * input: pointer to a null-terminated string (must not be NULL) - * return: pointer to a newly allocated string containing all space-separated words, - * joined by single spaces; leading/trailing/multiple spaces are ignored. - * on-error: returns NULL if memory allocation fails - * misc: the returned pointer must be freed by the caller using free() - * limits: processes at most 10 words, each up to 49 characters (last '\0') - */ -char *string_format(char* string) { - // Wörterbuch array [Wort][Zeichenkette] - char woerter[10][50] = { 0 }; - int wort_index = 0; - int char_index = 0; - - while (*string != '\0') { - // add '\0' stringterminator to end of word - if (*string == ' ' && char_index > 0) { - // safty check for array length - if (wort_index > 9 || char_index > 49) { - break; - } - - // next slot is char - // add '\0' to end string - woerter[wort_index][char_index] = '\0'; - wort_index++; - char_index = 0; - string++; - continue; - } - // skip extra spaces - else if (*string == ' ' && char_index == 0) { - string++; - continue; - } - - // safty check for array length - if (char_index >= 49) { - break; - } - - woerter[wort_index][char_index] = *string; - char_index++; - string++; - } - - // terminate last word with '\0' - if (char_index > 0 && wort_index < 10 && char_index < 49) { - woerter[wort_index][char_index] = '\0'; - wort_index++; - } - - /* - * return - */ - char *ptr = NULL; - - // get length of woerter array - if (wort_index == 0) { - ptr = NULL; - } else { - int sum = 0; - - for (int i = 0; i < wort_index; i++) { - sum += strlen(woerter[i]); - } - sum += wort_index - 1; // for spaces - sum += 1; // for Nulltermination - - - ptr = (char *)malloc(sum); - - // check for NULL pointer - if (ptr == NULL) { - return NULL; - } - - //strcpy - char *ende = ptr; - - for (int i = 0; i < wort_index; i++) { - ende = stpcpy(ende, woerter[i]); - - if (i != wort_index - 1) { - *(ende++) = ' '; - } - } - } - - return ptr; -} - -// input two char pointer -// output: one char pointer -// misc: caller needs to free the memory -char *concat(const char *s1, const char *s2) { - const size_t len1 = strlen(s1); - const size_t len2 = strlen(s2); - char *result = malloc(len1 + len2 + 1); // +1 for '\0' - - if (result == NULL) { - perror("allocating memory for strings failed"); - return NULL; - } - - memcpy(result, s1, len1); - memcpy(result + len1, s2, len2 + 1); // +1 for null-terminator - return result; //caller needs to free memory -} diff --git a/src/modules/utils/utils.h b/src/modules/utils/utils.h deleted file mode 100644 index 7a0ab02..0000000 --- a/src/modules/utils/utils.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef UTILS_H -#define UTILS_H - -/* function: char *string_format(char* string) - * input: pointer to a null-terminated string (must not be NULL) - * return: pointer to a newly allocated string containing all space-separated words, - * joined by single spaces; leading/trailing/multiple spaces are ignored. - * on-error: returns NULL if memory allocation fails - * misc: the returned pointer must be freed by the caller using free() - * limits: processes at most 10 words, each up to 49 characters (last '\0') - */ -char *string_format(char* string); - -// function: char *concat(const char *str1, const char *str2) -// input two char pointer -// return: pointer to string -// on-error: returns NULL -// misc: caller needs to free the memory -char *concat(const char *str1, const char *str2); - -#endif |
