|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCH v2 1/3] lib/nolibc: Introduce atoi() function
From: Sharan Santhanam <sharan.santhanam@xxxxxxxxx>
Adds atoi() conversion function to stdlib. It is based on strtoll().
Signed-off-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx>
Signed-off-by: Sharan Santhanam <sharan.santhanam@xxxxxxxxx>
---
lib/nolibc/include/stdlib.h | 6 ++++++
lib/nolibc/stdlib.c | 11 +++++++++++
2 files changed, 17 insertions(+)
diff --git a/lib/nolibc/include/stdlib.h b/lib/nolibc/include/stdlib.h
index dd6f9f7..12bc086 100644
--- a/lib/nolibc/include/stdlib.h
+++ b/lib/nolibc/include/stdlib.h
@@ -48,6 +48,12 @@ unsigned long strtoul(const char *nptr, char **endptr, int
base);
long long strtoll(const char *nptr, char **endptr, int base);
unsigned long long strtoull(const char *nptr, char **endptr, int base);
+/**
+ * Convert a string to an integer
+ * @s: The start of the string
+ */
+int atoi (const char *s);
+
#if CONFIG_LIBUKALLOC
/* Allocate size bytes of memory. Returns pointer to start of allocated memory,
* or NULL on failure.
diff --git a/lib/nolibc/stdlib.c b/lib/nolibc/stdlib.c
index d48083a..69304bd 100644
--- a/lib/nolibc/stdlib.c
+++ b/lib/nolibc/stdlib.c
@@ -276,3 +276,14 @@ unsigned long long strtoull(const char *nptr, char
**endptr, int base)
*endptr = __DECONST(char *, any ? s - 1 : nptr);
return acc;
}
+
+int atoi (const char *s)
+{
+ long long atoll;
+
+ atoll = strtoll (s, NULL, 10);
+ atoll = (atoll > __I_MAX) ? __I_MAX : atoll;
+ atoll = (atoll < __I_MIN) ? __I_MIN : atoll;
+
+ return (int) atoll;
+}
--
2.7.4
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |