summaryrefslogtreecommitdiff
path: root/newlib/libc/stdlib/atoi.c
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/stdlib/atoi.c')
-rw-r--r--newlib/libc/stdlib/atoi.c54
1 files changed, 54 insertions, 0 deletions
diff --git a/newlib/libc/stdlib/atoi.c b/newlib/libc/stdlib/atoi.c
new file mode 100644
index 00000000000..c7792a454f8
--- /dev/null
+++ b/newlib/libc/stdlib/atoi.c
@@ -0,0 +1,54 @@
+/*
+FUNCTION
+ <<atoi>>, <<atol>>---string to integer
+
+INDEX
+ atoi
+INDEX
+ atol
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ int atoi(const char *<[s]>);
+ long atol(const char *<[s]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ int atoi(<[s]>)
+ char *<[s]>;
+
+ long atol(<[s]>)
+ char *<[s]>;
+
+
+DESCRIPTION
+ <<atoi>> converts the initial portion of a string to an <<int>>.
+ <<atol>> converts the initial portion of a string to a <<long>>.
+
+ <<atoi(s)>> is implemented as <<(int)strtol(s, NULL, 10).>>
+ <<atol(s)>> is implemented as <<strtol(s, NULL, 10).>>
+
+RETURNS
+ The functions return the converted value, if any. If no conversion was
+ made, <<0>> is returned.
+
+PORTABILITY
+<<atoi>> is ANSI.
+
+No supporting OS subroutines are required.
+*/
+
+/*
+ * Andy Wilson, 2-Oct-89.
+ */
+
+#include <stdlib.h>
+#include <_ansi.h>
+
+int
+_DEFUN (atoi, (s),
+ _CONST char *s)
+{
+ return (int) strtol (s, NULL, 10);
+}
+