CCL: include r=omiteq in tests
[yaz-moved-to-github.git] / src / atoin.c
index d7104d9..4ee0313 100644 (file)
@@ -1,9 +1,9 @@
 /* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2010 Index Data
+ * Copyright (C) Index Data
  * See the file LICENSE for details.
  */
 
-/** 
+/**
  * \file atoin.c
  * \brief Implements atoi_n function.
  */
 #endif
 
 #include <string.h>
-#include <ctype.h>
 #include <yaz/marcdisp.h>
+#include <yaz/yaz-iconv.h>
 
-/**
- * atoi_n: like atoi but reads at most len characters.
- */
-int atoi_n (const char *buf, int len)
+int atoi_n(const char *buf, int len)
 {
     int val = 0;
 
     while (--len >= 0)
     {
-        if (isdigit (*(const unsigned char *) buf))
+        if (yaz_isdigit(*buf))
             val = val*10 + (*buf - '0');
         buf++;
     }
     return val;
 }
 
+int atoi_n_check(const char *buf, int size, int *val)
+{
+    int i;
+    for (i = 0; i < size; i++)
+        if (!yaz_isdigit(buf[i]))
+            return 0;
+    *val = atoi_n(buf, size);
+    return 1;
+}
+
 /*
  * Local variables:
  * c-basic-offset: 4