diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/cli.c | 1 | ||||
| -rw-r--r-- | src/download.c | 26 | ||||
| -rw-r--r-- | src/getht.c | 8 | ||||
| -rw-r--r-- | src/getht.h | 1 | 
4 files changed, 28 insertions, 8 deletions
| @@ -65,6 +65,7 @@ void showusage()  	printf("-d | --download-issue issno   Download issue number issno\n");  	printf("-f | --force                  Force re-download of existing files\n");  	printf("-h | --help                   Print this help message\n"); +	printf("-q | --quiet                  Make output less verbose\n");  	printf("-v | --verbose                Make output more verbose\n");  	printf("-V | --version                Print version information\n");  } diff --git a/src/download.c b/src/download.c index b287655..7f2610a 100644 --- a/src/download.c +++ b/src/download.c @@ -38,8 +38,11 @@ int update_progress(void *data, double dltotal, double dlnow,  int save_file(char *uri, char *filepath, char *filetitle, long resume_offset, struct config * options)  /*	Save the file *uri to *filepath */  { -	printf("Downloading %s       ",filetitle); -	fflush(stdout); +	if(!options->quiet) +	{ +		printf("Downloading %s       ",filetitle); +		fflush(stdout); +	}  	if(options->curl_handle) {  		FILE *file; @@ -71,9 +74,14 @@ int save_file(char *uri, char *filepath, char *filetitle, long resume_offset, st  			}  		} -		curl_easy_setopt(options->curl_handle, CURLOPT_NOPROGRESS, 0); -		curl_easy_setopt(options->curl_handle, CURLOPT_PROGRESSFUNCTION, update_progress); -		curl_easy_setopt(options->curl_handle, CURLOPT_PROGRESSDATA, &resume_offset); +		if(!options->quiet) +		{ +			curl_easy_setopt(options->curl_handle, CURLOPT_NOPROGRESS, 0); +			curl_easy_setopt(options->curl_handle, CURLOPT_PROGRESSFUNCTION, update_progress); +			curl_easy_setopt(options->curl_handle, CURLOPT_PROGRESSDATA, &resume_offset); +		} +		else +			curl_easy_setopt(options->curl_handle, CURLOPT_NOPROGRESS, 1);  		curl_easy_setopt(options->curl_handle, CURLOPT_RESUME_FROM, resume_offset); @@ -90,7 +98,8 @@ int save_file(char *uri, char *filepath, char *filetitle, long resume_offset, st  		fclose(file); -		printf("\rDownloaded %s       \n",filetitle); +		if(!options->quiet) +			printf("\rDownloaded %s       \n",filetitle);  	}  	else {  		fprintf(stderr,"Error: curl failed to initialise.\n"); @@ -212,7 +221,10 @@ void downloadissue(struct config * options, iss * issue, int force)  				if(remotesize > 0 && localsize < remotesize)  					save_file(cur_section->uri, filepath, filename, localsize, options);  				else -					printf("Skipping download of completed section %i\n", cur_section->number); +				{ +					if(!options->quiet) +						printf("Skipping download of completed section %i\n", cur_section->number); +				}  			}  		}  		else diff --git a/src/getht.c b/src/getht.c index ec90f0b..8f52d6f 100644 --- a/src/getht.c +++ b/src/getht.c @@ -39,6 +39,7 @@ int main(int argc, char *argv[])  	/* initialise appropriate options vars */  	options.startup_check = 0; +	options.quiet = 0;  	options.verbose = 0;  	options.proxy.type = 0;  	options.proxy.auth = 0; @@ -91,13 +92,14 @@ int main(int argc, char *argv[])  		{"download-issue", required_argument, 0, 'd'},  		{"force", no_argument, 0, 'f'},  		{"list-issues", no_argument, 0, 'l'}, +		{"quiet", no_argument, 0, 'q'},  		{"update", no_argument, 0, 'u'},  		{"help", no_argument, 0, 'h'},  		{"verbose", no_argument, 0, 'v'},  		{"version", no_argument, 0, 'V'},  		{0, 0, 0, 0}  	}; -	while((c = getopt_long(argc, argv, "ad:fhlmn:osuvVx:t:", long_opts, NULL)) != -1) { +	while((c = getopt_long(argc, argv, "ad:fhluqvV", long_opts, NULL)) != -1) {  		switch(c) {  			case 'a':  				downall = 1; @@ -125,6 +127,10 @@ int main(int argc, char *argv[])  				showusage();  				return 0;  				break; +			case 'q': +				options.quiet = 1; +				option = 1; +				break;  			case 'v':  				options.verbose++;  				option = 1; diff --git a/src/getht.h b/src/getht.h index 4ec0f4a..6a64b6e 100644 --- a/src/getht.h +++ b/src/getht.h @@ -46,6 +46,7 @@ struct config {  	int startup_check;  	int verbose; +	int quiet;  	CURL *curl_handle;  }; | 
