Skip to content
Snippets Groups Projects
  • Yorhel's avatar
    23903088
    Handle allocation failures · 23903088
    Yorhel authored
    In a similar way to the C version of ncdu: by wrapping malloc(). It's
    simpler to handle allocation failures at the source to allow for easy
    retries, pushing the retries up the stack will complicate code somewhat
    more. Likewise, this is a best-effort approach to handling OOM,
    allocation failures in ncurses aren't handled and display glitches may
    occur when we get an OOM inside a drawing function.
    
    This is a somewhat un-Zig-like way of handling errors and adds
    scary-looking 'catch unreachable's all over the code, but that's okay.
    23903088
    History
    Handle allocation failures
    Yorhel authored
    In a similar way to the C version of ncdu: by wrapping malloc(). It's
    simpler to handle allocation failures at the source to allow for easy
    retries, pushing the retries up the stack will complicate code somewhat
    more. Likewise, this is a best-effort approach to handling OOM,
    allocation failures in ncurses aren't handled and display glitches may
    occur when we get an OOM inside a drawing function.
    
    This is a somewhat un-Zig-like way of handling errors and adds
    scary-looking 'catch unreachable's all over the code, but that's okay.
main.zig 14.11 KiB