]> gitweb.hhaalo.de Git - mv_none_space.git/commitdiff
set all bits for dest zero
authorBastian Dehn <hhaalo@arcor.de>
Thu, 26 Feb 2026 19:26:55 +0000 (20:26 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Thu, 26 Feb 2026 19:26:55 +0000 (20:26 +0100)
src/rename.c

index f73d7e9a06d116f2583250bee6a481d162c9a737..60ccc468a50e701ec3eb787205d34899a8348117 100644 (file)
@@ -5,10 +5,13 @@
 
 char* escape(const char* src)
 {
-       size_t length = strlen(src);
        char* dest = malloc(sizeof(char) * STR_MAX_LENGTH);
-       int destcounter = 0;
+       if (dest == NULL)
+               return NULL;
 
+       memset(dest, 0, STR_MAX_LENGTH);
+       int destcounter = 0;
+       size_t length = strlen(src);
        for (size_t i = 0; i < length; i++) {
                switch(src[i]) {
                case SPACE:
@@ -27,17 +30,15 @@ char* escape(const char* src)
                }
        }
 
-       dest[destcounter] = '\0';
        length = strlen(dest) + 1;
        char* dest_tmp = realloc(dest, sizeof(char) * length);
-
        if (dest_tmp == NULL) {
                free(dest);
                dest = NULL;
                return NULL;
        }
-
        dest = dest_tmp;
+
        return dest;
 }
 
@@ -54,20 +55,20 @@ char* rename_point(const char* src)
                if (dest[i] != POINT)
                        break;
        }
-
        dest[length - point_count] = '\0';
+
        length = strlen(dest) + 1;
        char* dest_tmp = realloc(dest, sizeof(char) * length);
-
        if (dest_tmp == NULL) {
                free(dest);
                dest = NULL;
                return NULL;
        }
-
        dest = dest_tmp;
+
        return dest;
 }
+
 char* rename_lower(const char* src)
 {
        char* dest = rename_string(src);
@@ -82,13 +83,13 @@ char* rename_lower(const char* src)
 
 char* rename_string(const char* src)
 {
-       size_t length = strlen(src);
-       int dest_count = 0;
        char* dest = malloc(sizeof(char) * STR_MAX_LENGTH);
-
        if (dest == NULL)
                return NULL;
 
+       memset(dest, 0, STR_MAX_LENGTH);
+       int dest_count = 0;
+       size_t length = strlen(src);
        for (size_t i = 0; i < length; i++) {
                if (src[i] == SPACE) {
                        dest[dest_count++] = '_';
@@ -125,29 +126,27 @@ char* rename_string(const char* src)
                }
        }
 
-       dest[dest_count] = '\0';
        length = strlen(dest) + 1;
        char* dest_tmp = realloc(dest, sizeof(char) * length);
-
        if (dest_tmp == NULL) {
                free(dest);
                dest = NULL;
                return NULL;
        }
-
        dest = dest_tmp;
+
        return dest;
 }
 
 char* rename_revert(const char* src)
 {
        size_t length = strlen(src);
-       int dest_count = 0;
        char* dest = malloc(sizeof(char) * STR_MAX_LENGTH);
-
        if (dest == NULL)
                return NULL;
 
+       int dest_count = 0;
+       memset(dest, 0, STR_MAX_LENGTH);
        for (size_t i = 0; i < length; i++) {
                if (src[i] == '_') {
                        dest[dest_count++] = SPACE;
@@ -184,16 +183,14 @@ char* rename_revert(const char* src)
                }
        }
 
-       dest[dest_count] = '\0';
        length = strlen(dest) + 1;
        char* dest_tmp = realloc(dest, sizeof(char) * length);
-
        if (dest_tmp == NULL) {
                free(dest);
                dest = NULL;
                return NULL;
        }
-
        dest = dest_tmp;
+
        return dest;
 }
\ No newline at end of file