Commit e3ef8b66 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

the --dump-header option now only creates the file when it needs to, not any

sooner
parent 739b3f24
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -859,6 +859,7 @@ int main(int argc, char *argv[])
  char errorbuffer[URLGET_ERROR_SIZE];

  struct OutStruct outs;
  struct OutStruct heads;

  char *url = NULL;
#ifdef GLOBURL
@@ -1086,14 +1087,12 @@ int main(int argc, char *argv[])
    /* open file for output: */
    if(strcmp(config.headerfile,"-"))
    {
      headerfilep=(FILE *) fopen(config.headerfile, "wb");
      if (!headerfilep) {
	helpf("Can't open '%s'!\n", config.headerfile);
	return URG_WRITE_ERROR;
      }
      heads.filename = config.headerfile;
      headerfilep=NULL;
    }
    else
      headerfilep=stdout;
    heads.stream = headerfilep;
  }

  if(outs.stream && isatty(fileno(outs.stream)) &&
@@ -1147,7 +1146,7 @@ int main(int argc, char *argv[])
                    URGTAG_CRLF, config.crlf,
                    URGTAG_QUOTE, config.quote,
                    URGTAG_POSTQUOTE, config.postquote,
                    URGTAG_WRITEHEADER, headerfilep,
                    URGTAG_WRITEHEADER, &heads,
                    URGTAG_COOKIEFILE, config.cookiefile,
                    URGTAG_SSLVERSION, config.ssl_version,
                    URGTAG_TIMECONDITION, config.timecond,
@@ -1165,6 +1164,9 @@ int main(int argc, char *argv[])
    /* it wasn't directed to stdout or stderr so close the file! */
    fclose(config.errors);

  if(!headerfilep && heads.stream)
    fclose(heads.stream);

  if(urlbuffer)
    free(urlbuffer);
  if (config.outfile && outs.stream)