72 lines
2.3 KiB
Diff
72 lines
2.3 KiB
Diff
From ddb06ffc0f680322ce746c6e8d524dee4de84955 Mon Sep 17 00:00:00 2001
|
|
From: Daniel Stenberg <daniel@haxx.se>
|
|
Date: Tue, 11 Sep 2018 22:03:47 +0200
|
|
Subject: [PATCH 045/557] urlglob: improve error message
|
|
|
|
to help user understand what the problem is
|
|
|
|
Reported-by: Daniel Shahaf
|
|
|
|
Fixes #2763
|
|
Closes #2977
|
|
---
|
|
src/tool_urlglob.c | 11 ++++++-----
|
|
tests/data/test75 | 4 +++-
|
|
2 files changed, 9 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/src/tool_urlglob.c b/src/tool_urlglob.c
|
|
index cb87706..e4a5c33 100644
|
|
--- a/src/tool_urlglob.c
|
|
+++ b/src/tool_urlglob.c
|
|
@@ -5,7 +5,7 @@
|
|
* | (__| |_| | _ <| |___
|
|
* \___|\___/|_| \_\_____|
|
|
*
|
|
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
|
|
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
|
|
*
|
|
* This software is licensed as described in the file COPYING, which
|
|
* you should have received as part of this distribution. The terms
|
|
@@ -459,18 +459,19 @@ CURLcode glob_url(URLGlob **glob, char *url, unsigned long *urlnum,
|
|
*urlnum = amount;
|
|
else {
|
|
if(error && glob_expand->error) {
|
|
- char text[128];
|
|
+ char text[512];
|
|
const char *t;
|
|
if(glob_expand->pos) {
|
|
- snprintf(text, sizeof(text), "%s in column %zu", glob_expand->error,
|
|
- glob_expand->pos);
|
|
+ snprintf(text, sizeof(text), "%s in URL position %zu:\n%s\n%*s^",
|
|
+ glob_expand->error,
|
|
+ glob_expand->pos, url, glob_expand->pos - 1, " ");
|
|
t = text;
|
|
}
|
|
else
|
|
t = glob_expand->error;
|
|
|
|
/* send error description to the error-stream */
|
|
- fprintf(error, "curl: (%d) [globbing] %s\n", res, t);
|
|
+ fprintf(error, "curl: (%d) %s\n", res, t);
|
|
}
|
|
/* it failed, we cleanup */
|
|
glob_cleanup(glob_expand);
|
|
diff --git a/tests/data/test75 b/tests/data/test75
|
|
index d8836b9..115963d 100644
|
|
--- a/tests/data/test75
|
|
+++ b/tests/data/test75
|
|
@@ -44,7 +44,9 @@ perl %SRCDIR/libtest/test75.pl http://%HOSTIP:%HTTPPORT/ 22
|
|
3
|
|
</errorcode>
|
|
<stdout mode="text">
|
|
-curl: (3) [globbing] bad range in column 47
|
|
+curl: (3) bad range in URL position 47:
|
|
+http://a-site-never-accessed.example.org/[2-1]
|
|
+ ^
|
|
</stdout>
|
|
</verify>
|
|
</testcase>
|
|
--
|
|
1.8.3.1
|
|
|