]> granicus.if.org Git - curl/commitdiff
Alex Suykov's ftp upload show progress meter patch, slightly adjusted.
authorDaniel Stenberg <daniel@haxx.se>
Sat, 23 Apr 2005 21:26:27 +0000 (21:26 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Sat, 23 Apr 2005 21:26:27 +0000 (21:26 +0000)
src/main.c

index 298456dc65e07ab8c3331d0abed60645e06fc96b..f96dd8b5767df7d016ed0b315b474e3e24fd118a 100644 (file)
@@ -2900,6 +2900,17 @@ static void FindWin32CACert(struct Configurable *config,
 #define RETRY_SLEEP_DEFAULT 1000  /* ms */
 #define RETRY_SLEEP_MAX     600000 /* ms == 10 minutes */
 
+static bool
+output_expected(char* url, char* uploadfile)
+{
+  if(!uploadfile)
+    return TRUE;  /* download */
+  if(checkprefix("http://", url) || checkprefix("https://", url))
+    return TRUE;   /* HTTP(S) upload */
+
+  return FALSE; /* non-HTTP upload, probably no output should be expected */
+}
+
 static int
 operate(struct Configurable *config, int argc, char *argv[])
 {
@@ -3399,7 +3410,8 @@ operate(struct Configurable *config, int argc, char *argv[])
         if(uploadfile && config->resume_from_current)
           config->resume_from = -1; /* -1 will then force get-it-yourself */
 
-        if(outs.stream && isatty(fileno(outs.stream)))
+        if(output_expected(url, uploadfile)
+           && outs.stream && isatty(fileno(outs.stream)))
           /* we send the output to a tty, therefore we switch off the progress
              meter */
           config->conf |= CONF_NOPROGRESS;