diff options
| author | Doan Luu Duc Tai <doan@luuduct.ai> | 2026-09-08 14:46:47 -0500 |
|---|---|---|
| committer | Doan Luu Duc Tai <doan@luuduct.ai> | 2026-09-08 14:46:47 -0500 |
| commit | f34fb5042d40c186583f9e3009d8a1dd71d07d43 (patch) | |
| tree | 3f494f3723ebe9f173d0702a97509794f0ef85a5 /src/error.c | |
Initial commitmain
Diffstat (limited to 'src/error.c')
| -rw-r--r-- | src/error.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/error.c b/src/error.c new file mode 100644 index 0000000..af84cba --- /dev/null +++ b/src/error.c @@ -0,0 +1,44 @@ +/* SPDX-License-Identifier: GPL-3.0-or-later */ +/* + * vfetch - neofetch but the ascii part is a video + * + * Copyright (C) 2026 Doan Luu Duc Tai + * + */ + +#include "error.h" +#include <sysexits.h> + +int map_vfetch_error_to_exit_code(VfetchError err) { + switch (err) { + case VFETCH_SUCCESS: + case VFETCH_SUCCESS_EXIT_EARLY: + return EX_OK; + case VFETCH_ERROR_INVALID_ARGUMENT: + return EX_USAGE; + case VFETCH_ERROR_FILE_IO: + case VFETCH_ERROR_MKDIR_FAILED: + case VFETCH_ERROR_STAT_FAILED: + case VFETCH_ERROR_PATH_FAILED: + return EX_IOERR; + case VFETCH_ERROR_VIDEO_OPEN_FAILED: + case VFETCH_ERROR_AV_STREAM_INFO: + case VFETCH_ERROR_CACHE_INVALID: + return EX_DATAERR; + case VFETCH_ERROR_EXEC_FAILED: + case VFETCH_ERROR_COMMAND_FAILED: + case VFETCH_ERROR_MA_INIT: + return EX_UNAVAILABLE; + case VFETCH_ERROR_MEMORY_ALLOCATION: + case VFETCH_ERROR_PIPE_CREATION: + case VFETCH_ERROR_FORK_FAILED: + case VFETCH_ERROR_WAITPID_FAILED: + case VFETCH_ERROR_THREAD_CREATION: + case VFETCH_ERROR_MUTEX_INIT: + case VFETCH_ERROR_MMAP_FAILED: + return EX_OSERR; + case VFETCH_ERROR_CHAFA_CONFIG: + default: + return EX_SOFTWARE; + } +} |
