Daniel Scharrer
85da8836e5
Fix build with Boost < 1.52
13 years ago
Daniel Scharrer
2e5e4a5aec
Fix Doxygen warnings due to missing lzma defs
13 years ago
Daniel Scharrer
64d0b02907
Fix MSVC 10 build
...
std::bitset constructor was ambiguous because in C++11 the parameter
changed from unsigned long to unsigned long while MSVC violates the
standard by also having a constructor taking an int parameter.
13 years ago
Daniel Scharrer
1ad35d10f3
Add support for MS-specific _isatty()
13 years ago
Daniel Scharrer
fda922635c
Flush list output after each line if extracting
13 years ago
Daniel Scharrer
1f36d0f2e3
Remove using std:: statements
13 years ago
Daniel Scharrer
df8c2beae2
Fix style warnings
13 years ago
Daniel Scharrer
24b71da46f
Fix MSVC 9.0 warnings
13 years ago
Daniel Scharrer
70f4cd37ea
Improve error message if input file is a directory
13 years ago
Daniel Scharrer
7794b6a519
Don't change the default text color under Windows
13 years ago
Daniel Scharrer
abf96569a9
Force 64-bit time values on Windows
...
MSVC already always uses a 64-bit time_t, but 32-bit MinGW doesn't.
13 years ago
Daniel Scharrer
6e1f4e0388
Always use 64-bit time values internally
...
And warn if a truncating conversion is performed.
13 years ago
Daniel Scharrer
1a986a8709
Fix MSVC 9 build
13 years ago
Daniel Scharrer
4e356e4554
Add support for color output under Windows
13 years ago
Daniel Scharrer
c5cf31d7fa
Add support for the progress bar under Windows
13 years ago
Daniel Scharrer
343729bdff
Include file time precision in the config summary
13 years ago
Daniel Scharrer
e3014f72d7
Add support for nanosecond file times under Linux
...
Also, for other POSIX.1-2008+ systems.
13 years ago
Daniel Scharrer
16fac1a536
Fix MinGW build
13 years ago
Daniel Scharrer
83efbca49c
Fix compatibility with older Boost versions
13 years ago
Daniel Scharrer
a4280c5289
Add an option to set a timezone for timestamps
...
... and to disable setting the timestamps.
See: enhancement #5
13 years ago
Daniel Scharrer
05cac27c11
Set timestamps for extracted files
...
Implements: enhancement #5
13 years ago
Daniel Scharrer
9aab0cc267
Abstract platform-specific time functions
13 years ago
Daniel Scharrer
e630ef3733
Make timestamp parsing ignore the local timezone
13 years ago
Daniel Scharrer
3ca05a31f8
Rename some variables to not confuse naive parsers
...
*cough*KDevelop*cough*
13 years ago
Daniel Scharrer
4e6ec33a42
Fix parsing the timestamps in 16-bit installers
13 years ago
Daniel Scharrer
c6921debff
style: All function arguments should be named
13 years ago
Daniel Scharrer
9b23a920e9
Avoid warnings if compiling without progress bar
13 years ago
Daniel Scharrer
0a65ff271c
Fix spelling in comment
13 years ago
Daniel Scharrer
fea40a1895
Resize the screen resized flag after handling it
13 years ago
Daniel Scharrer
434031d359
Fix console width handling for the progress bar
...
* Don't constantly poll the screen size, listen for SIGWINCH instead
* Check if ioctl(TIOCGWINSZ) failed and use a default screen size
Fixes: bug #15
13 years ago
Daniel Scharrer
f41d567e32
Use symbolic names for exit codes
13 years ago
Daniel Scharrer
5d9596bea4
Use different exit values for user and data errors
13 years ago
Daniel Scharrer
e656af214e
Mark size_t -> std::streamsize conversions
13 years ago
Daniel Scharrer
bb96f1294c
[style] Make single-argument constructors explicit
13 years ago
Daniel Scharrer
00fdaa872b
[style] Remove redundant semicolons
13 years ago
Daniel Scharrer
1d3bce5717
[clang-analyzer] Remove useless assignment
13 years ago
Daniel Scharrer
896efa6a4c
Remove unused member variables in the logger class
13 years ago
Daniel Scharrer
1b2a62b714
Update copyright lines for files changed this year
13 years ago
Daniel Scharrer
bb50bffde2
Don't hard-code the license string in the source
...
Read it at compile-time from the LICENSE file.
13 years ago
Daniel Scharrer
e466144a6e
Fix compile error with some iconv implementations
...
Some iconv implementations declare the second parameter of iconv() as
const char ** (FreeBSD), others as char ** (Linux, OS X).
This commit adds a workaround so that innoextract will compile with both
variants.
13 years ago
Daniel Scharrer
ad489dac66
Remove redundant inline specifiers
13 years ago
Daniel Scharrer
11cc076cca
Prefix configuration defines with INNOEXTRACT_
...
This is to prevent clashes with libraries whose authors should be
lynched.
Also use #cmakedefine01 instead of #cmakedefine as to prevent bugs
caused by mispelled configuration checks.
13 years ago
Daniel Scharrer
9bdaa41213
Use libc's bswap_{16,32,64} if missing builtins
...
We still have our own unoptimized implementation if nothing else is
available.
13 years ago
Daniel Scharrer
cc5ffed46d
Use little-endian byte order when decoding UTF-16
...
We need to pass "UTF-16LE" and not just "UTF-16" to iconv when
converting UTF-16 strings contained in unicode-aware Inno Setup files
as the latter is platform-dependent when there is no BOM.
While it worked fine under Linux, on OS X iconv aussmed UTF-16BE and
text would get garbled.
Fixes: bug #3
13 years ago
Daniel Scharrer
a54b579cc3
Add CMake options to disable custom compiler flags
...
* SET_WARNING_FLAGS for warning options (don't affect binaries)
* SET_OPTIMIZATION_FLAGS for compiler & linker optimization options
Also, re-enable some warnings that were disabled and instead suppress
them for the individual occurences.
14 years ago
Daniel Scharrer
f96d8d2311
Rename src/{version => release}.*
...
Otherwise Doxygen cannot differentiate between src/version.hpp and
src/setup/version/hpp.
14 years ago
Daniel Scharrer
7439daba3d
Always use innoextract, never Inno Extract
14 years ago
Daniel Scharrer
d466c12c78
Fix a small typo in an error message
14 years ago
Daniel Scharrer
cc74065ef5
Don't use names reserved by C++
14 years ago
Daniel Scharrer
1ad13dc19a
Point to -h when no arguments are specified
14 years ago