Skip to content

ZstrDup

ZstrDup

Description

Duplicates a string. Creates a new null-terminated string by allocating memory and copying at most n characters from the source string.

Parameters

Name Direction Description
src in Source string to duplicate.

Success

Returns a pointer to the newly allocated duplicate string.

Failure

Returns NULL if memory allocation fails or if src is NULL.

Usage example (Cross-references)

Usage examples (Cross-references)
            return false;
        }
        *dst = ZstrDup(*src);
        return *dst != NULL;
    }
    }
    
    char *ZstrDup(const char *src) {
        return ZstrDupN(src, ZstrLen(src));
    }
        }
    
        *dst = ZstrDup(*src);
        return *dst != NULL;
    }
        // Copy name
        if (name) {
            item.name = ZstrDup(name);
        }
        // Modify the original item and verify the vector's copy is independent
        free(item.name);
        item.name      = ZstrDup("Modified");
        item.values[0] = 99;
        // First, create a dummy item and add it to the vector
        ComplexItem dummy = {0};
        dummy.name        = ZstrDup("Dummy");
        dummy.values      = NULL;
        dummy.num_values  = 0;
        // Create several dummy items to populate the vector
        ComplexItem dummy1 = {0};
        dummy1.name        = ZstrDup("Dummy1");
    
        ComplexItem dummy2 = {0};
    
        ComplexItem dummy2 = {0};
        dummy2.name        = ZstrDup("Dummy2");
    
        ComplexItem dummy3 = {0};
    
        ComplexItem dummy3 = {0};
        dummy3.name        = ZstrDup("Dummy3");
    
        // Add the dummy items using L-value semantics
        // Add a dummy item first
        ComplexItem dummy = {0};
        dummy.name        = ZstrDup("Dummy");
        VecPushBackL(&vec, dummy);
Last updated on