Skip to content

StrMerge

Description

Unsuffixed merge – alias for StrMergeL (L-form), per the project convention that an unsuffixed name lands on the L-form. Callers that need to preserve the source must spell out StrMergeR.

Success

Returns true; str grew by str2->length characters; str2 is in its zero-on-take state (ownership taken).

Failure

Returns false on allocation failure; str2 was already zeroed-on-take, str is unchanged.

Usage example (Cross-references)

Usage examples (Cross-references)
                        }
                    }
                    if (!StrPushBackMany(o, "0x") || !StrMerge(o, &hex)) {
                        StrDeinit(&hex);
                        return false;
                        }
                    }
                    if (!StrPushBackMany(o, "0x") || !StrMerge(o, &hex)) {
                        StrDeinit(&hex);
                        return false;
        }
    
        if (!StrMerge(o, &temp)) {
            StrDeinit(&temp);
            return false;
        }
    
        if (!StrMerge(o, &temp)) {
            StrDeinit(&temp);
            return false;
            }
    
            if (!StrMerge(o, &temp)) {
                StrDeinit(&temp);
                return false;
        }
    
        if (!StrMerge(o, &temp)) {
            StrDeinit(&temp);
            return false;
                    return false;
                }
                if (!StrMerge(o, &bit_str)) {
                    StrDeinit(&bit_str);
                    return false;
        }
    
        if (!StrMerge(o, &temp)) {
            StrDeinit(&temp);
            return false;
    
        if (value->exponent >= 0) {
            if (!StrMerge(&result, &digits)) {
                goto fail;
            }
                }
    
                if (!StrMerge(&result, &digits)) {
                    goto fail;
                }
    // Test StrMerge function (unsuffixed = L-form per convention; src zeroed).
    bool test_str_merge(void) {
        WriteFmt("Testing StrMerge\n");
        DefaultAllocator alloc = DefaultAllocatorInit();
    
        // Merge s2 into s1 (L-form; ownership of s2's storage transfers to s1)
        StrMerge(&s1, &s2);
    
        // Check that the strings were merged correctly
Last updated on