diff --git a/libmaxsi/Makefile b/libmaxsi/Makefile index 3dbe5c1f..85ab8d37 100644 --- a/libmaxsi/Makefile +++ b/libmaxsi/Makefile @@ -38,7 +38,7 @@ clearerr.o \ c++.o \ ctype.o \ dir.o \ -error.o \ +errno.o \ fabs.o \ fbufsize.o \ fclose.o \ @@ -88,6 +88,7 @@ strcoll.o \ strcpy.o \ strcspn.o \ strdup.o \ +strerror.o \ strlen.o \ strncasecmp.o \ strncat.o \ diff --git a/libmaxsi/errno.cpp b/libmaxsi/errno.cpp new file mode 100644 index 00000000..6686fcc9 --- /dev/null +++ b/libmaxsi/errno.cpp @@ -0,0 +1,51 @@ +/******************************************************************************* + + Copyright(C) Jonas 'Sortie' Termansen 2011, 2012. + + This file is part of LibMaxsi. + + LibMaxsi is free software: you can redistribute it and/or modify it under + the terms of the GNU Lesser General Public License as published by the Free + Software Foundation, either version 3 of the License, or (at your option) + any later version. + + LibMaxsi is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + details. + + You should have received a copy of the GNU Lesser General Public License + along with LibMaxsi. If not, see . + + errno.cpp + Value storing a numeric value representing the last occured error. + +*******************************************************************************/ + +#define __SORTIX_STDLIB_REDIRECTS 0 +#include +#include +#ifndef SORTIX_KERNEL +#include +#endif + +extern "C" { int global_errno = 0; } +extern "C" { errno_location_func_t errno_location_func = NULL; } + +#ifndef SORTIX_KERNEL +extern "C" void init_error_functions() +{ + global_errno = 0; +} +#endif + +extern "C" int* get_errno_location(void) +{ + if ( errno_location_func ) { return errno_location_func(); } + return &global_errno; +} + +extern "C" void set_errno_location_func(errno_location_func_t func) +{ + errno_location_func = func; +} diff --git a/libmaxsi/error.cpp b/libmaxsi/strerror.cpp similarity index 83% rename from libmaxsi/error.cpp rename to libmaxsi/strerror.cpp index 9e394c99..795e14e8 100644 --- a/libmaxsi/error.cpp +++ b/libmaxsi/strerror.cpp @@ -17,38 +17,14 @@ You should have received a copy of the GNU Lesser General Public License along with LibMaxsi. If not, see . - error.cpp - Error reporting functions and utilities. + strerror.cpp + Convert error code to a string. *******************************************************************************/ #define __SORTIX_STDLIB_REDIRECTS 0 #include -#include -#ifndef SORTIX_KERNEL -#include -#endif - -extern "C" { int global_errno = 0; } -extern "C" { errno_location_func_t errno_location_func = NULL; } - -#ifndef SORTIX_KERNEL -extern "C" void init_error_functions() -{ - global_errno = 0; -} -#endif - -extern "C" int* get_errno_location(void) -{ - if ( errno_location_func ) { return errno_location_func(); } - return &global_errno; -} - -extern "C" void set_errno_location_func(errno_location_func_t func) -{ - errno_location_func = func; -} +#include extern "C" const char* sortix_strerror(int errnum) {