Skip to content
ArgParseDeinit

ArgParseDeinit

Description

Release the spec Vec. Safe on a fully-initialised parser; not safe on a zero-initialised one.

Usage example (Cross-references)

Usage examples (Cross-references)
    
        bool ok = (rc == ARG_RUN_OK) && listen && ZstrCompare(listen, "0.0.0.0:8080") == 0;
        ArgParseDeinit(&p);
        DefaultAllocatorDeinit(&a);
        return ok;
    
        bool ok = (rc == ARG_RUN_OK) && listen && ZstrCompare(listen, "0.0.0.0:8080") == 0;
        ArgParseDeinit(&p);
        DefaultAllocatorDeinit(&a);
        return ok;
    
        bool ok = (rc == ARG_RUN_OK) && listen && ZstrCompare(listen, "127.0.0.1:9") == 0;
        ArgParseDeinit(&p);
        DefaultAllocatorDeinit(&a);
        return ok;
    
        bool ok = (rc == ARG_RUN_OK) && timeout == 30;
        ArgParseDeinit(&p);
        DefaultAllocatorDeinit(&a);
        return ok;
    
        bool ok = (rc == ARG_RUN_OK) && timeout == 5;
        ArgParseDeinit(&p);
        DefaultAllocatorDeinit(&a);
        return ok;
    
        bool ok = (rc == ARG_RUN_OK) && verbose == true;
        ArgParseDeinit(&p);
        DefaultAllocatorDeinit(&a);
        return ok;
    
        bool ok = (rc == ARG_RUN_OK) && verbose == false;
        ArgParseDeinit(&p);
        DefaultAllocatorDeinit(&a);
        return ok;
    
        bool ok = (rc == ARG_RUN_OK) && verbose == 3;
        ArgParseDeinit(&p);
        DefaultAllocatorDeinit(&a);
        return ok;
    
        bool ok = (rc == ARG_RUN_OK) && verbose == 3;
        ArgParseDeinit(&p);
        DefaultAllocatorDeinit(&a);
        return ok;
    
        bool ok = (rc == ARG_RUN_OK) && ZstrCompare(src, "a.txt") == 0 && ZstrCompare(dst, "b.txt") == 0;
        ArgParseDeinit(&p);
        DefaultAllocatorDeinit(&a);
        return ok;
    
        bool ok = (rc == ARG_RUN_OK) && ZstrCompare(src, "a.txt") == 0 && ZstrCompare(dst, "b.txt") == 0 && verbose == true;
        ArgParseDeinit(&p);
        DefaultAllocatorDeinit(&a);
        return ok;
    
        bool ok = (rc == ARG_RUN_OK) && n == 12345;
        ArgParseDeinit(&p);
        DefaultAllocatorDeinit(&a);
        return ok;
    
        bool ok = (rc == ARG_RUN_OK) && v == -42;
        ArgParseDeinit(&p);
        DefaultAllocatorDeinit(&a);
        return ok;
    
        bool ok = (rc == ARG_RUN_OK) && ratio > 2.4 && ratio < 2.6;
        ArgParseDeinit(&p);
        DefaultAllocatorDeinit(&a);
        return ok;
    
        bool ok = (rc == ARG_RUN_OK) && name.length == 5 && name.data[0] == 'a' && name.data[4] == 'e';
        ArgParseDeinit(&p);
        StrDeinit(&name);
        DefaultAllocatorDeinit(&a);
    
        bool ok = (rc == ARG_RUN_ERROR) && listen == NULL;
        ArgParseDeinit(&p);
        DefaultAllocatorDeinit(&a);
        return ok;
    
        bool ok = (rc == ARG_RUN_ERROR);
        ArgParseDeinit(&p);
        DefaultAllocatorDeinit(&a);
        return ok;
    
        bool ok = (rc == ARG_RUN_ERROR);
        ArgParseDeinit(&p);
        DefaultAllocatorDeinit(&a);
        return ok;
    
        bool ok = (rc == ARG_RUN_ERROR) && n == 0;
        ArgParseDeinit(&p);
        DefaultAllocatorDeinit(&a);
        return ok;
    
        bool ok = (rc == ARG_RUN_ERROR) && v == 0;
        ArgParseDeinit(&p);
        DefaultAllocatorDeinit(&a);
        return ok;
    
        bool ok = (rc == ARG_RUN_ERROR);
        ArgParseDeinit(&p);
        DefaultAllocatorDeinit(&a);
        return ok;
    
        bool ok = (rc == ARG_RUN_OK) && ZstrCompare(file, "--unusual-name") == 0;
        ArgParseDeinit(&p);
        DefaultAllocatorDeinit(&a);
        return ok;
        // --help should beat the missing-required check.
        bool ok = (rc == ARG_RUN_HELP);
        ArgParseDeinit(&p);
        DefaultAllocatorDeinit(&a);
        return ok;
    }
    
    void ArgParseDeinit(ArgParse *self) {
        if (!self)
            return;
    
            ArgRun rc = ArgParseRun(&ap, argc, argv);
            ArgParseDeinit(&ap);
            if (rc != ARG_RUN_OK) {
                return rc == ARG_RUN_HELP ? 0 : 1;
    
            ArgRun rc = ArgParseRun(&ap, argc, argv);
            ArgParseDeinit(&ap);
            if (rc != ARG_RUN_OK) {
                return rc == ARG_RUN_HELP ? 0 : 1;
Last updated on