MCPcopy Create free account
hub / github.com/DeusData/codebase-memory-mcp / cbm_same_file

Function cbm_same_file

src/cli/cli.c:1212–1230  ·  view source on GitHub ↗

Return true if two paths refer to the same on-disk file. Used to avoid * copying the running binary onto itself during install (cbm_copy_file would * truncate it, since it opens the destination "wb" before reading the source). */

Source from the content-addressed store, hash-verified

1210 * copying the running binary onto itself during install (cbm_copy_file would
1211 * truncate it, since it opens the destination "wb" before reading the source). */
1212static bool cbm_same_file(const char *a, const char *b) {
1213 struct stat sa;
1214 struct stat sb;
1215 if (stat(a, &sa) != 0 || stat(b, &sb) != 0) {
1216 return false;
1217 }
1218#ifdef _WIN32
1219 /* st_ino is unreliable on Windows; compare normalized path strings. */
1220 char na[CLI_BUF_1K];
1221 char nb[CLI_BUF_1K];
1222 snprintf(na, sizeof(na), "%s", a);
1223 snprintf(nb, sizeof(nb), "%s", b);
1224 cbm_normalize_path_sep(na);
1225 cbm_normalize_path_sep(nb);
1226 return strcmp(na, nb) == 0;
1227#else
1228 return sa.st_dev == sb.st_dev && sa.st_ino == sb.st_ino;
1229#endif
1230}
1231
1232typedef struct {
1233 char fingerprint[CBM_DAEMON_BUILD_FINGERPRINT_SIZE];

Callers 2

cbm_cmd_installFunction · 0.85

Calls 2

cbm_normalize_path_sepFunction · 0.85
statClass · 0.70

Tested by

no test coverage detected