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_library(abacus STATIC src/lexer.c)
|
||||
add_library(abacus STATIC src/lexer.c src/libabacus_util.c)
|
||||
add_executable(libabacus src/main.c)
|
||||
add_subdirectory(external/liblex)
|
||||
|
||||
|
|
|
@ -7,7 +7,9 @@
|
|||
*/
|
||||
enum libab_result {
|
||||
LIBAB_SUCCESS,
|
||||
LIBAB_MALLOC
|
||||
LIBAB_MALLOC,
|
||||
LIBAB_BAD_PATTERN,
|
||||
LIBAB_FAILED_MATCH
|
||||
};
|
||||
|
||||
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