diff --git a/NEWS b/NEWS index 079647e8..351c7284 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,7 @@ User visible changes for UPX Changes in 2.91 beta (XX XXX 2006): * assorted bug fixes * arm/pe: fix "missing" icon & version info resource problem for wince 5 + * pe: --compress-icons=3 option added to compress all icons Changes in 2.90 beta (08 Oct 2006): * LZMA algorithm support for most of the 32-bit and 64-bit file formats; diff --git a/doc/upx.pod b/doc/upx.pod index 0d03ffd8..0d725336 100644 --- a/doc/upx.pod +++ b/doc/upx.pod @@ -875,6 +875,7 @@ Extra options available for this executable format: --compress-icons=1 Compress all but the first icon. --compress-icons=2 Compress all icons which are not in the first icon directory. [DEFAULT] + --compress-icons=3 Compress all icons. --compress-resources=0 Don't compress any resources at all. diff --git a/src/main.cpp b/src/main.cpp index d54e4de2..8d0619ca 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -765,7 +765,7 @@ static int do_option(int optc, const char *arg) case 631: opt->win32_pe.compress_icons = 1; if (mfx_optarg && mfx_optarg[0]) - getoptvar(&opt->win32_pe.compress_icons, 0, 2, arg); + getoptvar(&opt->win32_pe.compress_icons, 0, 3, arg); //printf("compress_icons: %d\n", opt->win32_pe.compress_icons); break; case 632: diff --git a/src/pefile.cpp b/src/pefile.cpp index ab7b7a60..7211041f 100644 --- a/src/pefile.cpp +++ b/src/pefile.cpp @@ -1399,7 +1399,8 @@ void PeFile::processResources(Resource *res) if (res->itype() == RT_GROUP_ICON && iconsin1stdir == 0) iconsin1stdir = get_le16(ibuf + res->offs() + 4); - bool compress_icon = false, compress_idir = false; + bool compress_icon = opt->win32_pe.compress_icons == 3; + bool compress_idir = false; unsigned iconcnt = 0; // some statistics