| 2237 | } |
| 2238 | |
| 2239 | static void cbm_env_home_dir(const char *env_name, const char *home_dir, const char *fallback, |
| 2240 | char *out, size_t out_sz) { |
| 2241 | char env_buf[CLI_BUF_1K]; |
| 2242 | const char *custom = cbm_safe_getenv(env_name, env_buf, sizeof(env_buf), NULL); |
| 2243 | out[0] = '\0'; |
| 2244 | if (custom && custom[0] && cbm_expand_user_path(home_dir, custom, out, out_sz)) { |
| 2245 | return; |
| 2246 | } |
| 2247 | int written = snprintf(out, out_sz, "%s/%s", home_dir, fallback); |
| 2248 | if (written < 0 || (size_t)written >= out_sz) { |
| 2249 | out[0] = '\0'; |
| 2250 | } |
| 2251 | } |
| 2252 | |
| 2253 | static void cbm_kiro_home_dir(const char *home_dir, char *out, size_t out_sz) { |
| 2254 | cbm_env_home_dir("KIRO_HOME", home_dir, ".kiro", out, out_sz); |
no test coverage detected