aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel/src/utils.c
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2021-05-12 16:40:05 +0200
committerThomas White <taw@physics.org>2021-05-12 16:40:39 +0200
commit3a3401dfe7a7fedd5f133dd5a7b416e869f6be89 (patch)
tree6bc59b7313f6edadd54a16d1d304c2cf207a44ba /libcrystfel/src/utils.c
parent21d7b4754ea785de5cf805b8c72d6aabd8a0a372 (diff)
Fix convert_int and add convert_float
convert_int was using strtod. Whoops!
Diffstat (limited to 'libcrystfel/src/utils.c')
-rw-r--r--libcrystfel/src/utils.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/libcrystfel/src/utils.c b/libcrystfel/src/utils.c
index 945fee15..864b1a30 100644
--- a/libcrystfel/src/utils.c
+++ b/libcrystfel/src/utils.c
@@ -307,7 +307,22 @@ void ERROR(const char *format, ...)
int convert_int(const char *str, int *pval)
{
- int val;
+ long int val;
+ char *rval;
+
+ val = strtol(str, &rval, 10);
+ if ( *rval != '\0' ) {
+ return 1;
+ } else {
+ *pval = val;
+ return 0;
+ }
+}
+
+
+int convert_float(const char *str, double *pval)
+{
+ double val;
char *rval;
val = strtod(str, &rval);