Resolve the parent dir containing `.claude.json` (Claude Code's user config file). * Honors $CLAUDE_CONFIG_DIR; falls back to "$home_dir". */
| 2189 | /* Resolve the parent dir containing `.claude.json` (Claude Code's user config file). |
| 2190 | * Honors $CLAUDE_CONFIG_DIR; falls back to "$home_dir". */ |
| 2191 | static void cbm_claude_user_root(const char *home_dir, char *out, size_t out_sz) { |
| 2192 | if (out_sz == 0) { |
| 2193 | return; |
| 2194 | } |
| 2195 | out[0] = '\0'; |
| 2196 | char env_buf[CLI_BUF_1K]; |
| 2197 | const char *env = cbm_safe_getenv("CLAUDE_CONFIG_DIR", env_buf, sizeof(env_buf), NULL); |
| 2198 | if (env && env[0]) { |
| 2199 | snprintf(out, out_sz, "%s", env); |
| 2200 | } else if (home_dir && home_dir[0]) { |
| 2201 | snprintf(out, out_sz, "%s", home_dir); |
| 2202 | } |
| 2203 | } |
| 2204 | |
| 2205 | /* Resolve Codex's user configuration directory. |
| 2206 | * Honors $CODEX_HOME; falls back to "$home_dir/.codex". */ |
no test coverage detected