diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/clzip.1 | 11 | ||||
-rw-r--r-- | doc/clzip.info | 69 | ||||
-rw-r--r-- | doc/clzip.texi | 40 |
3 files changed, 52 insertions, 68 deletions
diff --git a/doc/clzip.1 b/doc/clzip.1 index f801503..46f69e9 100644 --- a/doc/clzip.1 +++ b/doc/clzip.1 @@ -1,15 +1,14 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2. -.TH CLZIP "1" "December 2023" "clzip 1.14-rc1" "User Commands" +.TH CLZIP "1" "January 2024" "clzip 1.14" "User Commands" .SH NAME clzip \- reduces the size of files .SH SYNOPSIS .B clzip [\fI\,options\/\fR] [\fI\,files\/\fR] .SH DESCRIPTION -Clzip is a C language version of lzip, fully compatible with lzip 1.4 or -newer. As clzip is written in C, it may be easier to integrate in -applications like package managers, embedded devices, or systems lacking a -C++ compiler. +Clzip is a C language version of lzip, compatible with lzip 1.4 or newer. As +clzip is written in C, it may be easier to integrate in applications like +package managers, embedded devices, or systems lacking a C++ compiler. .PP Lzip is a lossless data compressor with a user interface similar to the one of gzip or bzip2. Lzip uses a simplified form of the 'Lempel\-Ziv\-Markov @@ -123,7 +122,7 @@ Report bugs to lzip\-bug@nongnu.org .br Clzip home page: http://www.nongnu.org/lzip/clzip.html .SH COPYRIGHT -Copyright \(co 2023 Antonio Diaz Diaz. +Copyright \(co 2024 Antonio Diaz Diaz. License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html> .br This is free software: you are free to change and redistribute it. diff --git a/doc/clzip.info b/doc/clzip.info index 8556191..2d83e3c 100644 --- a/doc/clzip.info +++ b/doc/clzip.info @@ -11,7 +11,7 @@ File: clzip.info, Node: Top, Next: Introduction, Up: (dir) Clzip Manual ************ -This manual is for Clzip (version 1.14-rc1, 20 December 2023). +This manual is for Clzip (version 1.14, 22 January 2024). * Menu: @@ -29,7 +29,7 @@ This manual is for Clzip (version 1.14-rc1, 20 December 2023). * Concept index:: Index of concepts - Copyright (C) 2010-2023 Antonio Diaz Diaz. + Copyright (C) 2010-2024 Antonio Diaz Diaz. This manual is free documentation: you have unlimited permission to copy, distribute, and modify it. @@ -40,10 +40,9 @@ File: clzip.info, Node: Introduction, Next: Output, Prev: Top, Up: Top 1 Introduction ************** -Clzip is a C language version of lzip, fully compatible with lzip 1.4 or -newer. As clzip is written in C, it may be easier to integrate in -applications like package managers, embedded devices, or systems lacking a -C++ compiler. +Clzip is a C language version of lzip, compatible with lzip 1.4 or newer. +As clzip is written in C, it may be easier to integrate in applications like +package managers, embedded devices, or systems lacking a C++ compiler. Lzip is a lossless data compressor with a user interface similar to the one of gzip or bzip2. Lzip uses a simplified form of the 'Lempel-Ziv-Markov @@ -464,14 +463,9 @@ method is far more difficult. Lzip has been designed, written, and tested with great care to replace gzip and bzip2 as the standard general-purpose compressed format for Unix-like systems. This chapter describes the lessons learned from these -previous formats, and their application to the design of lzip. - - Lzip is developed by volunteers who lack the resources required for -extensive testing in all circumstances. It is up to you to test lzip before -using it in mission-critical applications. However, a compressor like lzip -is not a toy, and maintaining it is not a hobby. Many people's data depend -on it. Therefore the lzip file format has been reviewed carefully and is -believed to be free from negligent design errors. +previous formats, and their application to the design of lzip. The lzip +format specification has been reviewed carefully and is believed to be free +from design errors. 4.1 Format design @@ -1016,8 +1010,7 @@ decoded) and 'code' (representing the current point within 'range'). 'range' is initialized to 2^32 - 1, and 'code' is initialized to 0. The range encoder produces a first 0 byte that must be ignored by the -range decoder. This is done by shifting 5 bytes in the initialization of -'code' instead of 4. (See the 'Range_decoder' constructor in the source). +range decoder. (See the 'Range_decoder' constructor in the source). 7.4 Decoding and checking the LZMA stream @@ -1197,7 +1190,7 @@ Appendix A Reference source code ******************************** /* Lzd - Educational decompressor for the lzip format - Copyright (C) 2013-2023 Antonio Diaz Diaz. + Copyright (C) 2013-2024 Antonio Diaz Diaz. This program is free software. Redistribution and use in source and binary forms, with or without modification, are permitted provided @@ -1368,9 +1361,9 @@ public: return symbol; } - unsigned decode_bit( Bit_model & bm ) + bool decode_bit( Bit_model & bm ) { - unsigned symbol; + bool symbol; const uint32_t bound = ( range >> bit_model_total_bits ) * bm.probability; if( code < bound ) { @@ -1416,8 +1409,8 @@ public: unsigned symbol = 1; for( int i = 7; i >= 0; --i ) { - const unsigned match_bit = ( match_byte >> i ) & 1; - const unsigned bit = decode_bit( bm[symbol+(match_bit<<8)+0x100] ); + const bool match_bit = ( match_byte >> i ) & 1; + const bool bit = decode_bit( bm[symbol+(match_bit<<8)+0x100] ); symbol = ( symbol << 1 ) | bit; if( match_bit != bit ) { @@ -1621,7 +1614,7 @@ int main( const int argc, const char * const argv[] ) "See the lzip manual for an explanation of the code.\n" "\nUsage: %s [-d] < file.lz > file\n" "Lzd decompresses from standard input to standard output.\n" - "\nCopyright (C) 2023 Antonio Diaz Diaz.\n" + "\nCopyright (C) 2024 Antonio Diaz Diaz.\n" "License 2-clause BSD.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" @@ -1714,22 +1707,22 @@ Concept index Tag Table: Node: Top205 -Node: Introduction1212 -Node: Output7342 -Node: Invoking clzip8945 -Ref: --trailing-error9823 -Node: Quality assurance19929 -Node: Algorithm29060 -Node: File format32468 -Ref: coded-dict-size33898 -Node: Stream format35129 -Ref: what-is-coded37525 -Node: Trailing data46478 -Node: Examples48816 -Ref: concat-example50266 -Node: Problems51496 -Node: Reference source code52032 -Node: Concept index67094 +Node: Introduction1207 +Node: Output7331 +Node: Invoking clzip8934 +Ref: --trailing-error9812 +Node: Quality assurance19918 +Node: Algorithm28733 +Node: File format32141 +Ref: coded-dict-size33571 +Node: Stream format34802 +Ref: what-is-coded37198 +Node: Trailing data46072 +Node: Examples48410 +Ref: concat-example49860 +Node: Problems51090 +Node: Reference source code51626 +Node: Concept index66672 End Tag Table diff --git a/doc/clzip.texi b/doc/clzip.texi index 633526b..c98e026 100644 --- a/doc/clzip.texi +++ b/doc/clzip.texi @@ -6,8 +6,8 @@ @finalout @c %**end of header -@set UPDATED 20 December 2023 -@set VERSION 1.14-rc1 +@set UPDATED 22 January 2024 +@set VERSION 1.14 @dircategory Compression @direntry @@ -51,7 +51,7 @@ This manual is for Clzip (version @value{VERSION}, @value{UPDATED}). @end menu @sp 1 -Copyright @copyright{} 2010-2023 Antonio Diaz Diaz. +Copyright @copyright{} 2010-2024 Antonio Diaz Diaz. This manual is free documentation: you have unlimited permission to copy, distribute, and modify it. @@ -63,10 +63,9 @@ distribute, and modify it. @cindex introduction @uref{http://www.nongnu.org/lzip/clzip.html,,Clzip} -is a C language version of lzip, fully compatible with @w{lzip 1.4} or -newer. As clzip is written in C, it may be easier to integrate in -applications like package managers, embedded devices, or systems lacking a -C++ compiler. +is a C language version of lzip, compatible with @w{lzip 1.4} or newer. +As clzip is written in C, it may be easier to integrate in applications like +package managers, embedded devices, or systems lacking a C++ compiler. @uref{http://www.nongnu.org/lzip/lzip.html,,Lzip} is a lossless data compressor with a user interface similar to the one @@ -516,14 +515,9 @@ method is far more difficult.@* Lzip has been designed, written, and tested with great care to replace gzip and bzip2 as the standard general-purpose compressed format for Unix-like systems. This chapter describes the lessons learned from these previous -formats, and their application to the design of lzip. - -Lzip is developed by volunteers who lack the resources required for -extensive testing in all circumstances. It is up to you to test lzip before -using it in mission-critical applications. However, a compressor like lzip -is not a toy, and maintaining it is not a hobby. Many people's data depend -on it. Therefore the lzip file format has been reviewed carefully and is -believed to be free from negligent design errors. +formats, and their application to the design of lzip. The lzip format +specification has been reviewed carefully and is believed to be free from +design errors. @sp 1 @section Format design @@ -1092,9 +1086,7 @@ not yet decoded) and @samp{code} (representing the current point within @samp{code} is initialized to 0. The range encoder produces a first 0 byte that must be ignored by the -range decoder. This is done by shifting 5 bytes in the initialization of -@samp{code} instead of 4. (See the @samp{Range_decoder} constructor in -the source). +range decoder. (See the @samp{Range_decoder} constructor in the source). @sp 1 @section Decoding and checking the LZMA stream @@ -1315,7 +1307,7 @@ find by running @w{@samp{clzip --version}}. @verbatim /* Lzd - Educational decompressor for the lzip format - Copyright (C) 2013-2023 Antonio Diaz Diaz. + Copyright (C) 2013-2024 Antonio Diaz Diaz. This program is free software. Redistribution and use in source and binary forms, with or without modification, are permitted provided @@ -1486,9 +1478,9 @@ public: return symbol; } - unsigned decode_bit( Bit_model & bm ) + bool decode_bit( Bit_model & bm ) { - unsigned symbol; + bool symbol; const uint32_t bound = ( range >> bit_model_total_bits ) * bm.probability; if( code < bound ) { @@ -1534,8 +1526,8 @@ public: unsigned symbol = 1; for( int i = 7; i >= 0; --i ) { - const unsigned match_bit = ( match_byte >> i ) & 1; - const unsigned bit = decode_bit( bm[symbol+(match_bit<<8)+0x100] ); + const bool match_bit = ( match_byte >> i ) & 1; + const bool bit = decode_bit( bm[symbol+(match_bit<<8)+0x100] ); symbol = ( symbol << 1 ) | bit; if( match_bit != bit ) { @@ -1739,7 +1731,7 @@ int main( const int argc, const char * const argv[] ) "See the lzip manual for an explanation of the code.\n" "\nUsage: %s [-d] < file.lz > file\n" "Lzd decompresses from standard input to standard output.\n" - "\nCopyright (C) 2023 Antonio Diaz Diaz.\n" + "\nCopyright (C) 2024 Antonio Diaz Diaz.\n" "License 2-clause BSD.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" |