diff options
author | wpaul <wpaul@FreeBSD.org> | 2004-01-19 19:21:25 +0000 |
---|---|---|
committer | wpaul <wpaul@FreeBSD.org> | 2004-01-19 19:21:25 +0000 |
commit | e3b2b97f35417363c9f559e8436a2d7986e91405 (patch) | |
tree | f4edde386434ba97bc32923e3a38d379103f69e2 /sys/compat | |
parent | 47bc79bfe648ae05aa38c285b3c094c571c3d699 (diff) | |
download | FreeBSD-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.c | 18 |
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 }, |