From f34fb5042d40c186583f9e3009d8a1dd71d07d43 Mon Sep 17 00:00:00 2001 From: Doan Luu Duc Tai Date: Tue, 8 Sep 2026 14:46:47 -0500 Subject: Initial commit --- src/error.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/error.c (limited to 'src/error.c') 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 + +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; + } +} -- cgit v1.2.3