From 0f0199f38128ee3ce2a749f4d3f605582a9d19ba Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Wed, 3 Oct 2001 02:15:55 +0000 Subject: [PATCH] Implemented _doserrno(). svn path=/trunk/; revision=2265 --- reactos/include/msvcrt/internal/file.h | 2 ++ reactos/lib/msvcrt/misc/tls.c | 4 +-- reactos/lib/msvcrt/msvcrt.def | 4 +-- reactos/lib/msvcrt/stdlib/errno.c | 39 +++++++++++++++++++------- 4 files changed, 35 insertions(+), 14 deletions(-) diff --git a/reactos/include/msvcrt/internal/file.h b/reactos/include/msvcrt/internal/file.h index d6b62565589..cb17b08c2e2 100644 --- a/reactos/include/msvcrt/internal/file.h +++ b/reactos/include/msvcrt/internal/file.h @@ -41,6 +41,8 @@ extern "C" { char __validfp (FILE *f); int __set_errno(int err); +int __set_doserrno (int error); + void *filehnd(int fn); char __is_text_file(FILE *p); diff --git a/reactos/lib/msvcrt/misc/tls.c b/reactos/lib/msvcrt/misc/tls.c index 77190963852..80d86b77869 100644 --- a/reactos/lib/msvcrt/misc/tls.c +++ b/reactos/lib/msvcrt/misc/tls.c @@ -10,8 +10,8 @@ static unsigned long TlsIndex = (unsigned long)-1; static void InitThreadData(PTHREADDATA ThreadData) { -// ThreadData->terrno = 0; -// ThreadData->tdoserrno = 0; + ThreadData->terrno = 0; + ThreadData->tdoserrno = 0; ThreadData->fpecode = 0; diff --git a/reactos/lib/msvcrt/msvcrt.def b/reactos/lib/msvcrt/msvcrt.def index 536b759ceab..9b8a414cff2 100644 --- a/reactos/lib/msvcrt/msvcrt.def +++ b/reactos/lib/msvcrt/msvcrt.def @@ -1,4 +1,4 @@ -; $Id: msvcrt.def,v 1.14 2001/07/18 09:23:02 ekohl Exp $ +; $Id: msvcrt.def,v 1.15 2001/10/03 02:15:55 ekohl Exp $ ; ; ReactOS MSVCRT Compatibility Library ; @@ -96,7 +96,7 @@ __argv DATA ; __crtGetLocaleInfoW ; __crtLCMapStringA __dllonexit -; __doserrno +__doserrno __fpecode __getmainargs __initenv DATA diff --git a/reactos/lib/msvcrt/stdlib/errno.c b/reactos/lib/msvcrt/stdlib/errno.c index 0b2929be099..5aa3e505915 100644 --- a/reactos/lib/msvcrt/stdlib/errno.c +++ b/reactos/lib/msvcrt/stdlib/errno.c @@ -1,23 +1,42 @@ -/* $Id: errno.c,v 1.3 2001/01/18 13:23:26 jean Exp $ +/* $Id: errno.c,v 1.4 2001/10/03 02:15:34 ekohl Exp $ * */ -#include -int *_errno (void) +#include +#include +#include + +int *__doserrno(void) { - return (&GetThreadData()->terrno); + return(&GetThreadData()->tdoserrno); +} + +int *_errno(void) +{ + return(&GetThreadData()->terrno); } -int __set_errno (int error) +int __set_doserrno(int error) { - PTHREADDATA ThreadData; + PTHREADDATA ThreadData; - ThreadData = GetThreadData(); - if (ThreadData) - ThreadData->terrno = error; + ThreadData = GetThreadData(); + if (ThreadData) + ThreadData->tdoserrno = error; - return error; + return(error); +} + +int __set_errno(int error) +{ + PTHREADDATA ThreadData; + + ThreadData = GetThreadData(); + if (ThreadData) + ThreadData->terrno = error; + + return(error); } /* EOF */