Changeset f1c8de9 in rtems for cpukit/zlib
- Timestamp:
- Mar 18, 2011, 10:11:00 AM (9 years ago)
- Branches:
- 4.11, master
- Children:
- ebe2800
- Parents:
- 3a0d65c0
- Location:
- cpukit/zlib/examples
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
cpukit/zlib/examples/zlib_how.html
r3a0d65c0 rf1c8de9 5 5 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 6 6 <title>zlib Usage Example</title> 7 <!-- Copyright (c) 2004 Mark Adler. -->7 <!-- Copyright (c) 2004, 2005 Mark Adler. --> 8 8 </head> 9 9 <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#00A000"> … … 22 22 /* zpipe.c: example of proper use of zlib's inflate() and deflate() 23 23 Not copyrighted -- provided to the public domain 24 Version 1. 2 9 November 2004Mark Adler */24 Version 1.4 11 December 2005 Mark Adler */ 25 25 26 26 /* Version history: … … 29 29 Use switch statement for inflate() return values 30 30 1.2 9 Nov 2004 Add assertions to document zlib guarantees 31 1.3 6 Apr 2005 Remove incorrect assertion in inf() 32 1.4 11 Dec 2005 Add hack to avoid MSDOS end-of-line conversions 33 Avoid some compiler warnings for input and output buffers 31 34 */ 32 35 </b></pre><!-- --> … … 48 51 #include "zlib.h" 49 52 </b></pre><!-- --> 53 This is an ugly hack required to avoid corruption of the input and output data on 54 Windows/MS-DOS systems. Without this, those systems would assume that the input and output 55 files are text, and try to convert the end-of-line characters from one standard to 56 another. That would corrupt binary data, and in particular would render the compressed data unusable. 57 This sets the input and output to binary which suppresses the end-of-line conversions. 58 <tt>SET_BINARY_MODE()</tt> will be used later on <tt>stdin</tt> and <tt>stdout</tt>, at the beginning of <tt>main()</tt>. 59 <pre><b> 60 #if defined(MSDOS) || defined(OS2) || defined(WIN32) || defined(__CYGWIN__) 61 # include <fcntl.h> 62 # include <io.h> 63 # define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY) 64 #else 65 # define SET_BINARY_MODE(file) 66 #endif 67 </b></pre><!-- --> 50 68 <tt>CHUNK</tt> is simply the buffer size for feeding data to and pulling data 51 69 from the <em>zlib</em> routines. Larger buffer sizes would be more efficient, … … 81 99 unsigned have; 82 100 z_stream strm; 83 char in[CHUNK];84 char out[CHUNK];101 unsigned char in[CHUNK]; 102 unsigned char out[CHUNK]; 85 103 </b></pre><!-- --> 86 104 The first thing we do is to initialize the <em>zlib</em> state for compression using … … 314 332 unsigned have; 315 333 z_stream strm; 316 char in[CHUNK];317 char out[CHUNK];334 unsigned char in[CHUNK]; 335 unsigned char out[CHUNK]; 318 336 </b></pre><!-- --> 319 337 The initialization of the state is the same, except that there is no compression level, … … 495 513 int ret; 496 514 515 /* avoid end-of-line conversions */ 516 SET_BINARY_MODE(stdin); 517 SET_BINARY_MODE(stdout); 518 497 519 /* do compression if no arguments */ 498 520 if (argc == 1) { … … 519 541 </b></pre> 520 542 <hr> 521 <i>Copyright (c) 2004 by Mark Adler<br>Last modified 13 November 2004</i>543 <i>Copyright (c) 2004, 2005 by Mark Adler<br>Last modified 11 December 2005</i> 522 544 </body> 523 545 </html> -
cpukit/zlib/examples/zpipe.c
r3a0d65c0 rf1c8de9 1 1 /* zpipe.c: example of proper use of zlib's inflate() and deflate() 2 2 Not copyrighted -- provided to the public domain 3 Version 1. 2 9 November 2004Mark Adler */3 Version 1.4 11 December 2005 Mark Adler */ 4 4 5 5 /* Version history: … … 9 9 1.2 9 Nov 2004 Add assertions to document zlib guarantees 10 10 1.3 6 Apr 2005 Remove incorrect assertion in inf() 11 1.4 11 Dec 2005 Add hack to avoid MSDOS end-of-line conversions 12 Avoid some compiler warnings for input and output buffers 11 13 */ 12 14 … … 15 17 #include <assert.h> 16 18 #include "zlib.h" 19 20 #if defined(MSDOS) || defined(OS2) || defined(WIN32) || defined(__CYGWIN__) 21 # include <fcntl.h> 22 # include <io.h> 23 # define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY) 24 #else 25 # define SET_BINARY_MODE(file) 26 #endif 17 27 18 28 #define CHUNK 16384 … … 29 39 unsigned have; 30 40 z_stream strm; 31 char in[CHUNK];32 char out[CHUNK];41 unsigned char in[CHUNK]; 42 unsigned char out[CHUNK]; 33 43 34 44 /* allocate deflate state */ … … 85 95 unsigned have; 86 96 z_stream strm; 87 char in[CHUNK];88 char out[CHUNK];97 unsigned char in[CHUNK]; 98 unsigned char out[CHUNK]; 89 99 90 100 /* allocate inflate state */ … … 168 178 int ret; 169 179 180 /* avoid end-of-line conversions */ 181 SET_BINARY_MODE(stdin); 182 SET_BINARY_MODE(stdout); 183 170 184 /* do compression if no arguments */ 171 185 if (argc == 1) {
Note: See TracChangeset
for help on using the changeset viewer.