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

Function application_unique_recovery_file

src/daemon/application.c:610–639  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

608}
609
610static bool application_unique_recovery_file(char out[APPLICATION_PATH_CAP], const char *kind) {
611 char cache[APPLICATION_PATH_CAP] = {0};
612 char directory[APPLICATION_PATH_CAP] = {0};
613 int written;
614 if (application_cache_dir(cache)) {
615 written = snprintf(directory, sizeof(directory), "%s/logs", cache);
616 if (written <= 0 || written >= (int)sizeof(directory) || !cbm_mkdir_p(directory, 0700)) {
617 return false;
618 }
619 } else {
620 written = snprintf(directory, sizeof(directory), "%s", cbm_tmpdir());
621 if (written <= 0 || written >= (int)sizeof(directory)) {
622 return false;
623 }
624 }
625 written = snprintf(out, APPLICATION_PATH_CAP, "%s/.daemon-index-%s-XXXXXX", directory, kind);
626 if (written <= 0 || written >= APPLICATION_PATH_CAP) {
627 out[0] = '\0';
628 return false;
629 }
630 application_tmp_lock();
631 int descriptor = cbm_mkstemp(out);
632 application_tmp_unlock();
633 if (descriptor < 0) {
634 out[0] = '\0';
635 return false;
636 }
637 (void)application_close(descriptor);
638 return true;
639}
640
641static bool application_recovery_files_create(char marker_path[APPLICATION_PATH_CAP],
642 char quarantine_path[APPLICATION_PATH_CAP]) {

Callers 1

Calls 6

application_cache_dirFunction · 0.85
cbm_mkdir_pFunction · 0.85
cbm_tmpdirFunction · 0.85
application_tmp_lockFunction · 0.85
cbm_mkstempFunction · 0.85
application_tmp_unlockFunction · 0.85

Tested by

no test coverage detected