Handle arch correctly in command_download() and print some status at the end.
authorKristian H?gsberg <krh@redhat.com>
Mon Apr 07 12:09:50 2008 -0400 (2008-04-07)
changeset 203e0047e89db07
parent 202 e8594c82dffc
child 204 60badcb3d8ea
Handle arch correctly in command_download() and print some status at the end.
main.c
     1.1 --- a/main.c	Mon Apr 07 11:56:48 2008 -0400
     1.2 +++ b/main.c	Mon Apr 07 12:09:50 2008 -0400
     1.3 @@ -648,6 +648,7 @@
     1.4  	struct razor_package *package;
     1.5  	const char *pattern = argv[0], *name, *version, *arch;
     1.6  	char url[256], file[256];
     1.7 +	int matches = 0;
     1.8  
     1.9  	set = razor_set_open(rawhide_repo_filename);
    1.10  	pi = razor_package_iterator_create(set);
    1.11 @@ -656,16 +657,25 @@
    1.12  		if (pattern && fnmatch(pattern, name, 0) != 0)
    1.13  			continue;
    1.14  
    1.15 +		matches++;
    1.16  		snprintf(url, sizeof url,
    1.17 -			 REPO_URL "/Packages/%s-%s.i386.rpm", name, version);
    1.18 +			 REPO_URL "/Packages/%s-%s.%s.rpm",
    1.19 +			 name, version, arch);
    1.20  		snprintf(file, sizeof file,
    1.21 -			 "rpms/%s-%s.i386.rpm", name, version);
    1.22 +			 "rpms/%s-%s.%s.rpm", name, version, arch);
    1.23  		if (download_if_missing(url, file) < 0)
    1.24  			fprintf(stderr, "failed to download %s\n", name);
    1.25  	}
    1.26  	razor_package_iterator_destroy(pi);
    1.27  	razor_set_destroy(set);
    1.28  
    1.29 +	if (matches == 0)
    1.30 +		fprintf(stderr, "no packages matched \"%s\"\n", pattern);
    1.31 +	else if (matches == 1)
    1.32 +		fprintf(stderr, "downloaded 1 package\n");
    1.33 +	else
    1.34 +		fprintf(stderr, "downloaded %d package\n", matches);
    1.35 +
    1.36  	return 0;
    1.37  }
    1.38