KvConfigGetPtr
Description
Get stored value for key by internal reference.
Parameters
| Name | Direction | Description |
|---|---|---|
cfg |
in,out | Parsed config. |
key |
in | Lookup key. Prefer Str *; Zstr accepted. |
Success
Pointer to stored Str value. Do not deinitialize or mutate through ownership-sensitive APIs.
Failure
NULL if key does not exist.
Usage example (Cross-references)
Usage examples (Cross-references)
- In
Parse.c:22:
(void)KvConfigParse(input, &cfg);
got = KvConfigGetPtr(&cfg, key);
ok = got && (StrCmp(got, expect) == 0);- In
Parse.c:176:
(void)KvConfigParse(input, &cfg);
v = KvConfigGetPtr(&cfg, "k");
result = result && v && (StrLen(v) == 0);- In
Parse.c:254:
result = result && (StrIterIndex(&si) == StrIterLength(&si));
result = result && (MapPairCount(&cfg) == 1);
v = KvConfigGetPtr(&cfg, "k");
result = result && v && (StrCmp(v, "v") == 0);- In
Parse.c:279:
result = result && (StrIterIndex(&si) == StrIterLength(&si));
result = result && (MapPairCount(&cfg) == 1);
v = KvConfigGetPtr(&cfg, "k");
result = result && v && (StrCmp(v, "v") == 0);- In
Parse.c:320:
StrIter input = StrIterFromStr(src);
StrIter si = KvConfigParse(input, &cfg);
Str *host = KvConfigGetPtr(&cfg, "host");
i64 port = 0;
bool debug = false;- In
Parse.c:353:
StrIter input = StrIterFromStr(src);
StrIter si = KvConfigParse(input, &cfg);
Str *path = KvConfigGetPtr(&cfg, "path");
Str *user = KvConfigGetPtr(&cfg, "user");
Str *greet = KvConfigGetPtr(&cfg, "greeting");- In
Parse.c:354:
StrIter si = KvConfigParse(input, &cfg);
Str *path = KvConfigGetPtr(&cfg, "path");
Str *user = KvConfigGetPtr(&cfg, "user");
Str *greet = KvConfigGetPtr(&cfg, "greeting");
Str *empty = KvConfigGetPtr(&cfg, "empty");- In
Parse.c:355:
Str *path = KvConfigGetPtr(&cfg, "path");
Str *user = KvConfigGetPtr(&cfg, "user");
Str *greet = KvConfigGetPtr(&cfg, "greeting");
Str *empty = KvConfigGetPtr(&cfg, "empty");
bool result = true;- In
Parse.c:356:
Str *user = KvConfigGetPtr(&cfg, "user");
Str *greet = KvConfigGetPtr(&cfg, "greeting");
Str *empty = KvConfigGetPtr(&cfg, "empty");
bool result = true;- In
Parse.c:383:
(void)KvConfigParse(input, &cfg);
stored_host = KvConfigGetPtr(&cfg, "host");
host_copy = KvConfigGet(&cfg, "host");- In
Parse.c:577:
(void)KvConfigParse(input, &cfg);
a = KvConfigGetPtr(&cfg, "a");
b = KvConfigGetPtr(&cfg, "b");
c = KvConfigGetPtr(&cfg, "c");- In
Parse.c:578:
a = KvConfigGetPtr(&cfg, "a");
b = KvConfigGetPtr(&cfg, "b");
c = KvConfigGetPtr(&cfg, "c");- In
Parse.c:579:
a = KvConfigGetPtr(&cfg, "a");
b = KvConfigGetPtr(&cfg, "b");
c = KvConfigGetPtr(&cfg, "c");
result = result && a && (StrCmp(a, "value one") == 0);- In
Parse.c:609:
bool result = true;
host = KvConfigGetPtr(&cfg, "host");
name = KvConfigGetPtr(&cfg, "name");- In
Parse.c:610:
host = KvConfigGetPtr(&cfg, "host");
name = KvConfigGetPtr(&cfg, "name");
result = result && (StrIterIndex(&si) == StrIterLength(&si));- In
Parse.c:710:
(void)KvConfigParse(input, &cfg);
Str *got = KvConfigGetPtr(&cfg, "key");
bool ok = got && (StrCmp(got, "spaced-out-value-here") == 0);- In
Parse.c:741:
(void)KvConfigParse(input, &cfg);
Str *got = KvConfigGetPtr(&cfg, "a-reasonably-long-config-key");
bool ok = got && (StrCmp(got, "v") == 0);- In
Parse.c:771:
(void)KvConfigParse(input, &cfg);
Str *got = KvConfigGetPtr(&cfg, "k");
bool ok = got && (StrCmp(got, "a-reasonably-long-config-value") == 0);- In
Parse.c:806:
// Each KvConfigGetPtr with a Zstr key routes through kvconfig_get_ptr_zstr,
// building and (at L351) freeing a temp lookup Str.
Str *hit = KvConfigGetPtr(&cfg, "present-config-key");
ok = ok && (hit != NULL) && (StrCmp(hit, "value") == 0);- In
Parse.c:811:
// Misses also build + free a lookup; pile several on so a dropped L351
// leaks multiple buffers.
ok = ok && (KvConfigGetPtr(&cfg, "absent-config-key-0001") == NULL);
ok = ok && (KvConfigGetPtr(&cfg, "absent-config-key-0002") == NULL);
ok = ok && (KvConfigGetPtr(&cfg, "absent-config-key-0003") == NULL);- In
Parse.c:812:
// leaks multiple buffers.
ok = ok && (KvConfigGetPtr(&cfg, "absent-config-key-0001") == NULL);
ok = ok && (KvConfigGetPtr(&cfg, "absent-config-key-0002") == NULL);
ok = ok && (KvConfigGetPtr(&cfg, "absent-config-key-0003") == NULL);- In
Parse.c:813:
ok = ok && (KvConfigGetPtr(&cfg, "absent-config-key-0001") == NULL);
ok = ok && (KvConfigGetPtr(&cfg, "absent-config-key-0002") == NULL);
ok = ok && (KvConfigGetPtr(&cfg, "absent-config-key-0003") == NULL);
StrDeinit(&text);
Last updated on