StrInitStack
- Macro
- October 8, 2025
Table of Contents
StrInitStack
StrInitStack
Description
Initialize given string but use memory from stack. Such strings cannot be dynamically resized!!
Parameters
Name | Direction | Description |
---|---|---|
str | in | String that needs to be initialized. |
ne | in | Number of elements to allocate stack memory for. |
Success
str
Failure
NULL
Usage example (Cross-references)
- In
Log.c:39
:
#endif
Str syserr;
StrInitStack(syserr, SYS_ERROR_STR_MAX_LENGTH, {
SysStrError(errno, &syserr);
LOG_ERROR("Failed to get localtime : {}", syserr);
- In
Log.c:86
:
LOG_STREAM_FALLBACK: {
Str syserr;
StrInitStack(syserr, SYS_ERROR_STR_MAX_LENGTH, {
FWriteFmtLn(stderr, "Error opening log file, will write logs to stderr");
});
- In
Str.Init.c:130
:
// Test StrInitStack macro
bool test_str_init_stack(void) {
WriteFmt("Testing StrInitStack\n");
bool result = true;
- In
Str.Init.c:136
:
// Test with the actual StrInitStack macro
Str stack_str;
StrInitStack(stack_str, 20, {
// Inside the scope where the stack string is valid
StrPushBackZstr(&stack_str, "Hello, Stack!");
- In
Log.h:95
:
StrWriteFmt(&m_, __VA_ARGS__); \
Str syserr_; \
StrInitStack(syserr_, 256, { \
SysStrError(errno, &syserr_); \
StrWriteFmt(&m_, " : {}", syserr_); \
- In
Log.h:122
:
StrWriteFmt(&m_, __VA_ARGS__); \
Str syserr_; \
StrInitStack(syserr_, 256, { \
SysStrError(errno, &syserr_); \
StrWriteFmt(&m_, " : {}", syserr_); \
- In
Log.h:148
:
StrWriteFmt(&m_, __VA_ARGS__); \
Str syserr_; \
StrInitStack(syserr_, 256, { \
SysStrError(errno, &syserr_); \
StrWriteFmt(&m_, " : {}", syserr_); \