Add a utility header to convert error codes.
This commit is contained in:
parent
2db840288d
commit
b46dccb70d
|
@ -8,7 +8,7 @@ project(libabacus)
|
||||||
|
|
||||||
add_compile_options(-pedantic -Wall)
|
add_compile_options(-pedantic -Wall)
|
||||||
|
|
||||||
add_library(abacus STATIC src/lexer.c)
|
add_library(abacus STATIC src/lexer.c src/libabacus_util.c)
|
||||||
add_executable(libabacus src/main.c)
|
add_executable(libabacus src/main.c)
|
||||||
add_subdirectory(external/liblex)
|
add_subdirectory(external/liblex)
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,9 @@
|
||||||
*/
|
*/
|
||||||
enum libab_result {
|
enum libab_result {
|
||||||
LIBAB_SUCCESS,
|
LIBAB_SUCCESS,
|
||||||
LIBAB_MALLOC
|
LIBAB_MALLOC,
|
||||||
|
LIBAB_BAD_PATTERN,
|
||||||
|
LIBAB_FAILED_MATCH
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef enum libab_result libab_result;
|
typedef enum libab_result libab_result;
|
||||||
|
|
21
include/libabacus_util.h
Normal file
21
include/libabacus_util.h
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
#ifndef LIBABACUS_UTIL_H
|
||||||
|
#define LIBABACUS_UTIL_H
|
||||||
|
|
||||||
|
#include "libds.h"
|
||||||
|
#include "liblex.h"
|
||||||
|
#include "libabacus.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts a result code from liblex to libabacus.
|
||||||
|
* @param to_convert the code to convert.
|
||||||
|
* @return the libabacus equivalent of the error code.
|
||||||
|
*/
|
||||||
|
libab_result convert_lex_result(liblex_result to_convert);
|
||||||
|
/**
|
||||||
|
* Converts a result code from libds to libabacus.
|
||||||
|
* @param to_convert the code to convert.
|
||||||
|
* @return the libabacus equivalent of the error code.
|
||||||
|
*/
|
||||||
|
libab_result convert_ds_result(libds_result to_convert);
|
||||||
|
|
||||||
|
#endif
|
20
src/libabacus_util.c
Normal file
20
src/libabacus_util.c
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
#include "libabacus_util.h"
|
||||||
|
|
||||||
|
libab_result convert_lex_result(liblex_result to_convert) {
|
||||||
|
libab_result result = LIBAB_SUCCESS;
|
||||||
|
if(to_convert == LIBLEX_MALLOC) {
|
||||||
|
result = LIBAB_MALLOC;
|
||||||
|
} else if(to_convert == LIBLEX_INVALID) {
|
||||||
|
result = LIBAB_BAD_PATTERN;
|
||||||
|
} else if(to_convert == LIBLEX_UNRECOGNIZED) {
|
||||||
|
result = LIBAB_FAILED_MATCH;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
libab_result convert_ds_result(libds_result to_convert) {
|
||||||
|
libab_result result = LIBAB_SUCCESS;
|
||||||
|
if(to_convert == LIBDS_MALLOC) {
|
||||||
|
result = LIBAB_MALLOC;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user