| 2293 | } |
| 2294 | |
| 2295 | static void cbm_env_home_dir(const char *env_name, const char *home_dir, const char *fallback, |
| 2296 | char *out, size_t out_sz) { |
| 2297 | char env_buf[CLI_BUF_1K]; |
| 2298 | const char *custom = cbm_safe_getenv(env_name, env_buf, sizeof(env_buf), NULL); |
| 2299 | out[0] = '\0'; |
| 2300 | if (custom && custom[0] && cbm_expand_user_path(home_dir, custom, out, out_sz)) { |
| 2301 | return; |
| 2302 | } |
| 2303 | int written = snprintf(out, out_sz, "%s/%s", home_dir, fallback); |
| 2304 | if (written < 0 || (size_t)written >= out_sz) { |
| 2305 | out[0] = '\0'; |
| 2306 | } |
| 2307 | } |
| 2308 | |
| 2309 | static void cbm_kiro_home_dir(const char *home_dir, char *out, size_t out_sz) { |
| 2310 | cbm_env_home_dir("KIRO_HOME", home_dir, ".kiro", out, out_sz); |
no test coverage detected