| 2271 | } |
| 2272 | |
| 2273 | static void cbm_env_home_dir(const char *env_name, const char *home_dir, const char *fallback, |
| 2274 | char *out, size_t out_sz) { |
| 2275 | char env_buf[CLI_BUF_1K]; |
| 2276 | const char *custom = cbm_safe_getenv(env_name, env_buf, sizeof(env_buf), NULL); |
| 2277 | out[0] = '\0'; |
| 2278 | if (custom && custom[0] && cbm_expand_user_path(home_dir, custom, out, out_sz)) { |
| 2279 | return; |
| 2280 | } |
| 2281 | int written = snprintf(out, out_sz, "%s/%s", home_dir, fallback); |
| 2282 | if (written < 0 || (size_t)written >= out_sz) { |
| 2283 | out[0] = '\0'; |
| 2284 | } |
| 2285 | } |
| 2286 | |
| 2287 | static void cbm_kiro_home_dir(const char *home_dir, char *out, size_t out_sz) { |
| 2288 | cbm_env_home_dir("KIRO_HOME", home_dir, ".kiro", out, out_sz); |
no test coverage detected