aboutsummaryrefslogtreecommitdiff
path: root/src/cct.c
diff options
context:
space:
mode:
authorThomas Knudsen <busstoptaktik@users.noreply.github.com>2017-10-25 13:11:48 +0200
committerGitHub <noreply@github.com>2017-10-25 13:11:48 +0200
commita15c64a4f82a9996ee2d6a21de902f6bc80dc4ac (patch)
treeb6e21d5f5fa3030b2dd0a84d5b976bc15e6051d4 /src/cct.c
parenta3fa749bc4f378d005c9e3fd809c0be25de5ffb2 (diff)
downloadPROJ-a15c64a4f82a9996ee2d6a21de902f6bc80dc4ac.tar.gz
PROJ-a15c64a4f82a9996ee2d6a21de902f6bc80dc4ac.zip
Repair gie and cct after breakage due to proj_strtod update (#628)
* Repair gie and cct after breakage due to proj_strtod update * Remove unused variables
Diffstat (limited to 'src/cct.c')
-rw-r--r--src/cct.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/cct.c b/src/cct.c
index 35d4ec3f..72d8c6cc 100644
--- a/src/cct.c
+++ b/src/cct.c
@@ -289,22 +289,32 @@ char *column (char *buf, int n) {
return buf;
}
+/* column to double */
+static double cold (char *args, int col) {
+ char *endp;
+ char *target;
+ double d;
+ target = column (args, col);
+ d = proj_strtod (target, &endp);
+ if (endp==target)
+ return HUGE_VAL;
+ return d;
+}
PJ_COORD parse_input_line (char *buf, int *columns, double fixed_height, double fixed_time) {
PJ_COORD err = proj_coord (HUGE_VAL, HUGE_VAL, HUGE_VAL, HUGE_VAL);
PJ_COORD result = err;
int prev_errno = errno;
- char *endptr = 0;
errno = 0;
result.xyzt.z = fixed_height;
result.xyzt.t = fixed_time;
- result.xyzt.x = proj_strtod (column (buf, columns[0]), &endptr);
- result.xyzt.y = proj_strtod (column (buf, columns[1]), &endptr);
+ result.xyzt.x = cold (buf, columns[0]);
+ result.xyzt.y = cold (buf, columns[1]);
if (result.xyzt.z==HUGE_VAL)
- result.xyzt.z = proj_strtod (column (buf, columns[2]), &endptr);
+ result.xyzt.z = cold (buf, columns[2]);
if (result.xyzt.t==HUGE_VAL)
- result.xyzt.t = proj_strtod (column (buf, columns[3]), &endptr);
+ result.xyzt.t = cold (buf, columns[3]);
if (0!=errno)
return err;