Add odr_atoi - like atoi but returns Odr_int
[yaz-moved-to-github.git] / src / odr_mem.c
index 55478c0..555c443 100644 (file)
@@ -47,11 +47,16 @@ char *odr_strdupn(ODR o, const char *str, size_t n)
     return nmem_strdupn(o->mem, str, n);
 }
 
-int *odr_intdup(ODR o, int v)
+Odr_int *odr_intdup(ODR o, Odr_int v)
 {
     return nmem_intdup(o->mem, v);
 }
 
+Odr_bool *odr_booldup(ODR o, Odr_bool v)
+{
+    return nmem_booldup(o->mem, v);
+}
+
 int odr_total(ODR o)
 {
     return nmem_total(o->mem);
@@ -119,6 +124,22 @@ int odr_seek(ODR o, int whence, int offset)
     o->pos = offset;
     return 0;
 }
+
+Odr_int odr_atoi(const char *s)
+{
+#if NMEM_64
+    char *endptr;
+#if WIN32
+    return _strtoui64(s, &endptr, 10);
+#else
+    return strtoll(s, &endptr, 10);
+#endif
+
+#else
+    return atoi(s);
+#endif
+}
+
 /*
  * Local variables:
  * c-basic-offset: 4