X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=OSX%2Fseticon.pl;h=fb5dc71fe777db8e13496b130a1f7bd1d089cd68;hb=4361b69d3178d7fc98d0388f9a223af6c2651aba;hp=69faf687ac3b912f4f47925c524ee4560fcbf0cd;hpb=aa75c7476aeaa84cf3abc192b376a8b03c325213;p=xscreensaver diff --git a/OSX/seticon.pl b/OSX/seticon.pl index 69faf687..fb5dc71f 100755 --- a/OSX/seticon.pl +++ b/OSX/seticon.pl @@ -1,5 +1,5 @@ #!/usr/bin/perl -w -# Copyright © 2015 Dave Odell +# Copyright © 2015-2016 Dave Odell # # Permission to use, copy, modify, distribute, and sell this software and its # documentation for any purpose is hereby granted without fee, provided that @@ -18,7 +18,7 @@ use strict; use File::Temp; my $progname = $0; $progname =~ s@.*/@@g; -my ($version) = ('$Revision: 1.4 $' =~ m/\s(\d[.\d]+)\s/s); +my ($version) = ('$Revision: 1.6 $' =~ m/\s(\d[.\d]+)\s/s); my $verbose = 0; @@ -78,24 +78,32 @@ sub set_icon ($$) { exit ($exit) if $exit; } +sub error($) { + my ($err) = @_; + print STDERR "$progname: $err\n"; + exit 1; +} + sub usage() { print "Usage: $progname -d source [file...]\n"; exit 1; } sub main() { - my ($d, $src, $dst); + my ($src, @dst); while ($#ARGV >= 0) { $_ = shift @ARGV; if (m/^--?verbose$/s) { $verbose++; } elsif (m/^-v+$/s) { $verbose += length($_)-1; } - elsif (m/^-d$/s) { $d = 1; } - elsif (!defined($src)) { $src = $_; } - elsif (!defined($dst)) { $dst = $_; } - else { usage; } + elsif (m/^-d$/s) { $src = shift @ARGV; } + elsif (m/^-/s) { usage(); } + else { push @dst, $_; } + } + error ("no source") unless defined($src); + error ("no files") unless @dst; + foreach my $f (@dst) { + set_icon ($src, $f); } - usage() unless ($d && $src); - set_icon ($src, $dst); } main();