Draft
Conversation
Functions: - `nob_is_dir_empty()` - `nob_dir_iter_open()` - `nob_dir_iter_next()` - `nob_dir_iter_close()` - `nob_dir_iter_getname()`
New APIs in `nob.h`: - `nob_delete_directory()`: deletes empty directory - `nob_delete_directory_recursively()`: deletes directory recursively One internal function: - `nob__delete_directory_recursively()`
Change allocation method from dynamic allocation (malloc) to stack allocation.
From `nob_da_free(path_sb)` to `nob_sb_free(path_sb)`.
Closed
|
This is very useful. I recently ran into the exact need for nob_delete_directory_recursively() while building a test runner on top of nob. My project generates temporary build artifacts per test suite (probes, try_compile executables, coverage data, etc.) and I needed a clean sandbox mechanism. Without recursive deletion, this required custom platform-specific cleanup logic outside of nob. The incremental iterator from #145 + DFS-based recursive deletion here is exactly the right architectural direction compared to the earlier nob_read_entire_dir() approach. Looking forward to this being merged after #145. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related PRs:
Related commit:
This PR features a recursive directory deletion to
nob.hbased on the incremental directory iterator in #145, which is built upon DFS.New functions:
nob_delete_directory(): deletes empty directoriesnob_delete_directory_recursively(): deletes directories recursivelynob__delete_directory_recursively(): implementation ofnob_delete_directory_recursively()Example: