StrInitStack
- Macro
- August 22, 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 | Pointer to string memory that needs to be initialized. |
ne | in | Number of elements to allocate stack memory for. |
Success
str
Failure
NULL
Usage example (Cross-references)
- In
Sys.c:162
:
if (NULL == dir) {
Str err;
StrInitStack(err, SYS_ERROR_STR_MAX_LENGTH, {
SysStrError(errno, &err);
LOG_ERROR("opendir(\"{}\") failed : {}", path, err);
- In
Sys.c:233
:
if (file == INVALID_HANDLE_VALUE) {
Str err;
StrInitStack(err, SYS_ERROR_STR_MAX_LENGTH, {
SysStrError(errno, &err);
LOG_ERROR("failed to open file: {}\n", err);
- In
Sys.c:243
:
if (!GetFileSizeEx(file, &file_size)) {
Str err;
StrInitStack(err, SYS_ERROR_STR_MAX_LENGTH, {
SysStrError(errno, &err);
LOG_ERROR("failed to get file size: {}\n", err);
- In
Sys.c:260
:
} else {
Str err;
StrInitStack(err, SYS_ERROR_STR_MAX_LENGTH, {
SysStrError(errno, &err);
LOG_ERROR("failed to get file size: {}\n", err);
- In
Log.c:33
:
#endif
Str syserr;
StrInitStack(syserr, SYS_ERROR_STR_MAX_LENGTH, {
SysStrError(errno, &syserr);
LOG_ERROR("Failed to get localtime : {}", syserr);
- In
Log.c:46
:
!SysGetEnv("TEMPDIR", &log_dir) && !SysGetEnv("PWD", &log_dir)) {
Str syserr;
StrInitStack(syserr, SYS_ERROR_STR_MAX_LENGTH, {
fprintf(
stderr,
- In
Log.c:80
:
if (e || !stderror) {
Str syserr;
StrInitStack(syserr, SYS_ERROR_STR_MAX_LENGTH, {
SysStrError(e, &syserr);
LOG_ERROR("Failed to open log file : {}", syserr);
- In
Log.c:93
:
LOG_STREAM_FALLBACK: {
Str syserr;
StrInitStack(syserr, SYS_ERROR_STR_MAX_LENGTH, {
fprintf(stderr, "Error opening log file, will write logs to stderr\n");
});
- In
File.c:35
:
if (!buffer) {
Str syserr;
StrInitStack(syserr, SYS_ERROR_STR_MAX_LENGTH, {
SysStrError(errno, &syserr);
LOG_FATAL("malloc() failed : {}", syserr);
- In
File.c:59
:
Str syserr = StrInit();
StrInitStack(syserr, SYS_ERROR_STR_MAX_LENGTH, {
SysStrError(e, &syserr);
LOG_ERROR("fopen() failed : {}", syserr);
- In
File.c:71
:
fclose(file);
Str syserr = StrInit();
StrInitStack(syserr, SYS_ERROR_STR_MAX_LENGTH, {
SysStrError(errno, &syserr);
LOG_ERROR("failed to read complete file. : {}", syserr);
- In
Vec.c:91
:
if (!ptr) {
Str syserr;
StrInitStack(syserr, SYS_ERROR_STR_MAX_LENGTH, {
SysStrError(errno, &syserr);
LOG_FATAL("realloc() failed : {}", syserr);
- In
Vec.c:140
:
if (!ptr) {
Str syserr;
StrInitStack(syserr, SYS_ERROR_STR_MAX_LENGTH, {
SysStrError(errno, &syserr);
LOG_FATAL("realloc() failed : {}", syserr);
- In
Str.Init.c:130
:
// Test StrInitStack macro
bool test_str_init_stack(void) {
printf("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!");