Add constants for fast path resume copying
[coreboot.git] / payloads / libpayload / libc / string.c
index 2e0a558b20c3a89d2f134ca40f67d74183bc6826..cfa0b4ada445879e7e7d6f20f2e8971e4bdaf4df 100644 (file)
@@ -32,6 +32,7 @@
 #include <libpayload.h>
 #include <string.h>
 #include <ctype.h>
+#include <inttypes.h>
 #include <errno.h>
 
 /**
@@ -473,6 +474,11 @@ long int strtol(const char *ptr, char **endptr, int base)
         return ret * negative;
 }
 
+long atol(const char *nptr)
+{
+       return strtol(nptr, NULL, 10);
+}
+
 /**
  * Convert the initial portion of a string into an unsigned int
  * @param ptr A pointer to the string to convert
@@ -481,9 +487,9 @@ long int strtol(const char *ptr, char **endptr, int base)
  * @return An unsigned integer representation of the string
  */
 
-unsigned long int strtoul(const char *ptr, char **endptr, int base)
+unsigned long long int strtoull(const char *ptr, char **endptr, int base)
 {
-        int ret = 0;
+        unsigned long long int ret = 0;
 
        if (endptr != NULL)
                *endptr = (char *) ptr;
@@ -530,6 +536,14 @@ unsigned long int strtoul(const char *ptr, char **endptr, int base)
         return ret;
 }
 
+unsigned long int strtoul(const char *ptr, char **endptr, int base)
+{
+       unsigned long long val = strtoull(ptr, endptr, base);
+       if (val > UINT32_MAX) return UINT32_MAX;
+       return val;
+}
+
+
 /**
  * Determine the number of leading characters in s that match characters in a
  * @param s A pointer to the string to analyse