blob: af84cba24a46f6010f19a0b33903847074089dcf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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;
}
}
|