summaryrefslogtreecommitdiffstats
path: root/sys/compat
diff options
context:
space:
mode:
authorwpaul <wpaul@FreeBSD.org>2004-01-19 19:21:25 +0000
committerwpaul <wpaul@FreeBSD.org>2004-01-19 19:21:25 +0000
commite3b2b97f35417363c9f559e8436a2d7986e91405 (patch)
treef4edde386434ba97bc32923e3a38d379103f69e2 /sys/compat
parent47bc79bfe648ae05aa38c285b3c094c571c3d699 (diff)
downloadFreeBSD-src-e3b2b97f35417363c9f559e8436a2d7986e91405.zip
FreeBSD-src-e3b2b97f35417363c9f559e8436a2d7986e91405.tar.gz
Implement atoi() and atol(). Some drivers appear to need these. Note
that like most C library routines, these appear to be _cdecl in Windows.
Diffstat (limited to 'sys/compat')
-rw-r--r--sys/compat/ndis/subr_ntoskrnl.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/sys/compat/ndis/subr_ntoskrnl.c b/sys/compat/ndis/subr_ntoskrnl.c
index a769996..c01e8fa 100644
--- a/sys/compat/ndis/subr_ntoskrnl.c
+++ b/sys/compat/ndis/subr_ntoskrnl.c
@@ -129,6 +129,8 @@ __stdcall static void ntoskrnl_free_unicode_string(ndis_unicode_string *);
__stdcall static void ntoskrnl_free_ansi_string(ndis_ansi_string *);
__stdcall static ndis_status ntoskrnl_unicode_to_int(ndis_unicode_string *,
uint32_t, uint32_t *);
+static int atoi (const char *);
+static long atol (const char *);
__stdcall static void dummy(void);
static struct mtx *ntoskrnl_interlock;
@@ -805,6 +807,20 @@ ntoskrnl_free_ansi_string(astr)
return;
}
+static int
+atoi(str)
+ const char *str;
+{
+ return (int)strtol(str, (char **)NULL, 10);
+}
+
+static long
+atol(str)
+ const char *str;
+{
+ return strtol(str, (char **)NULL, 10);
+}
+
__stdcall static void
dummy()
{
@@ -847,6 +863,8 @@ image_patch_table ntoskrnl_functbl[] = {
{ "_aullrem", (FUNC)_aullrem },
{ "_aullshr", (FUNC)_aullshr },
{ "_aullshl", (FUNC)_aullshl },
+ { "atoi", (FUNC)atoi },
+ { "atol", (FUNC)atol },
{ "WRITE_REGISTER_USHORT", (FUNC)ntoskrnl_writereg_ushort },
{ "READ_REGISTER_USHORT", (FUNC)ntoskrnl_readreg_ushort },
{ "WRITE_REGISTER_ULONG", (FUNC)ntoskrnl_writereg_ulong },
OpenPOWER on IntegriCloud