aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/pack.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2005-03-20 23:56:28 +0000
committerChristian Grothoff <christian@grothoff.org>2005-03-20 23:56:28 +0000
commit1c28cb2260c09ddefde567313b8f54161bd3b969 (patch)
tree0249db41ef8e06c5ded1bda9705ffadcccdcd15c /src/plugins/pack.c
parent20d2e51022f79e021a0ad27b97ac41d9543337ea (diff)
downloadlibextractor-1c28cb2260c09ddefde567313b8f54161bd3b969.tar.gz
libextractor-1c28cb2260c09ddefde567313b8f54161bd3b969.zip
removing tailing whitespace
Diffstat (limited to 'src/plugins/pack.c')
-rw-r--r--src/plugins/pack.c84
1 files changed, 42 insertions, 42 deletions
diff --git a/src/plugins/pack.c b/src/plugins/pack.c
index e7bae79..261dd98 100644
--- a/src/plugins/pack.c
+++ b/src/plugins/pack.c
@@ -2,7 +2,7 @@
2Catlib Copyright Notice 2Catlib Copyright Notice
3 3
4The author of this software is Christopher Adam Telfer 4The author of this software is Christopher Adam Telfer
5Copyright (c) 1998, 1999, 2000, 2001, 2002 5Copyright (c) 1998, 1999, 2000, 2001, 2002
6by Christopher Adam Telfer. All Rights Reserved. 6by Christopher Adam Telfer. All Rights Reserved.
7 7
8Permission to use, copy, modify, and distribute this software for any 8Permission to use, copy, modify, and distribute this software for any
@@ -23,10 +23,10 @@ OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
23MODIFICATIONS. 23MODIFICATIONS.
24 24
25*/ 25*/
26 26
27#include "platform.h" 27#include "platform.h"
28#include "pack.h" 28#include "pack.h"
29 29
30typedef unsigned char byte; 30typedef unsigned char byte;
31typedef unsigned short half; 31typedef unsigned short half;
32typedef unsigned long word; 32typedef unsigned long word;
@@ -35,7 +35,7 @@ typedef signed short shalf;
35typedef signed long sword; 35typedef signed long sword;
36 36
37 37
38/* 38/*
39 "bhwAcslPBHWCSL" 39 "bhwAcslPBHWCSL"
40 40
41 Small letters: do not convert (not implemented for arrays and P) 41 Small letters: do not convert (not implemented for arrays and P)
@@ -45,7 +45,7 @@ typedef signed long sword;
45 h - half-word 45 h - half-word
46 w - word 46 w - word
47 a - array (32-byte unsigned long + that many bytes) 47 a - array (32-byte unsigned long + that many bytes)
48 c - signed 8 bit value 48 c - signed 8 bit value
49 s - signed 16 bit value 49 s - signed 16 bit value
50 l - signed 32 bit value 50 l - signed 32 bit value
51 p - (unpack only) value is a pointer to a pointer. Generate the buffer 51 p - (unpack only) value is a pointer to a pointer. Generate the buffer
@@ -55,7 +55,7 @@ typedef signed long sword;
55 of the arguments specified by the letter 55 of the arguments specified by the letter
56 */ 56 */
57 57
58int cat_pack(void * buf, 58int cat_pack(void * buf,
59 const char *fmt, 59 const char *fmt,
60 ...) { 60 ...) {
61 va_list ap; 61 va_list ap;
@@ -68,15 +68,15 @@ int cat_pack(void * buf,
68 void * arr; 68 void * arr;
69 struct cat_bvec *cbvp; 69 struct cat_bvec *cbvp;
70 char *cp; 70 char *cp;
71 71
72 va_start(ap, fmt); 72 va_start(ap, fmt);
73 73
74 npacked = 0; 74 npacked = 0;
75 bp = (byte *)buf; 75 bp = (byte *)buf;
76 76
77 while( *fmt ) { 77 while( *fmt ) {
78 nreps = 0; 78 nreps = 0;
79 79
80 if ( isdigit(*fmt) ) { 80 if ( isdigit(*fmt) ) {
81 /* We use cp instead of fmt to keep the 'const' qualifier of fmt */ 81 /* We use cp instead of fmt to keep the 'const' qualifier of fmt */
82 nreps = strtoul(fmt, &cp, 0); 82 nreps = strtoul(fmt, &cp, 0);
@@ -98,7 +98,7 @@ int cat_pack(void * buf,
98 npacked += 1; 98 npacked += 1;
99 } 99 }
100 } 100 }
101 break; 101 break;
102 102
103 case 'h': 103 case 'h':
104 case 's': 104 case 's':
@@ -116,8 +116,8 @@ int cat_pack(void * buf,
116 npacked += 2; 116 npacked += 2;
117 } 117 }
118 } 118 }
119 break; 119 break;
120 120
121 case 'H': 121 case 'H':
122 case 'S': 122 case 'S':
123 if ( ! nreps ) { 123 if ( ! nreps ) {
@@ -134,8 +134,8 @@ int cat_pack(void * buf,
134 npacked += 2; 134 npacked += 2;
135 } 135 }
136 } 136 }
137 break; 137 break;
138 138
139 case 'l': 139 case 'l':
140 case 'w': 140 case 'w':
141 if ( ! nreps ) { 141 if ( ! nreps ) {
@@ -157,7 +157,7 @@ int cat_pack(void * buf,
157 } 157 }
158 } 158 }
159 break; 159 break;
160 160
161 case 'L': 161 case 'L':
162 case 'W': 162 case 'W':
163 if ( ! nreps ) { 163 if ( ! nreps ) {
@@ -179,7 +179,7 @@ int cat_pack(void * buf,
179 } 179 }
180 } 180 }
181 break; 181 break;
182 182
183 case 'A': 183 case 'A':
184 if ( ! nreps ) { 184 if ( ! nreps ) {
185 blen = va_arg(ap, word); 185 blen = va_arg(ap, word);
@@ -206,14 +206,14 @@ int cat_pack(void * buf,
206 } 206 }
207 } 207 }
208 break; 208 break;
209 209
210 default: 210 default:
211 va_end(ap); 211 va_end(ap);
212 return -1; 212 return -1;
213 } 213 }
214 ++fmt; 214 ++fmt;
215 } 215 }
216 216
217 va_end(ap); 217 va_end(ap);
218 return npacked; 218 return npacked;
219} 219}
@@ -235,7 +235,7 @@ int cat_unpack(const void * buf,
235 unsigned int nreps, i, isnonprefixed = 1; /* used for 'a' types only */ 235 unsigned int nreps, i, isnonprefixed = 1; /* used for 'a' types only */
236 struct cat_bvec *cbvp; 236 struct cat_bvec *cbvp;
237 char *cp; 237 char *cp;
238 238
239 bp = (byte *)buf; 239 bp = (byte *)buf;
240 npacked = 0; 240 npacked = 0;
241 241
@@ -243,15 +243,15 @@ int cat_unpack(const void * buf,
243 243
244 while ( *fmt ) { 244 while ( *fmt ) {
245 nreps = 1; 245 nreps = 1;
246 246
247 if ( isdigit(*fmt) ) { 247 if ( isdigit(*fmt) ) {
248 /* We use cp instead of format to keep the 'const' qualifier of fmt */ 248 /* We use cp instead of format to keep the 'const' qualifier of fmt */
249 nreps = strtoul(fmt, &cp, 0); 249 nreps = strtoul(fmt, &cp, 0);
250 fmt = cp; 250 fmt = cp;
251 if ( *fmt == 'a' ) 251 if ( *fmt == 'a' )
252 isnonprefixed = 0; 252 isnonprefixed = 0;
253 } 253 }
254 254
255 switch (*fmt) { 255 switch (*fmt) {
256 case 'B': 256 case 'B':
257 case 'b': 257 case 'b':
@@ -262,9 +262,9 @@ int cat_unpack(const void * buf,
262 npacked += 1; 262 npacked += 1;
263 } 263 }
264 break; 264 break;
265 265
266 266
267 267
268 case 'h': 268 case 'h':
269 halfp = va_arg(ap, half*); 269 halfp = va_arg(ap, half*);
270 for ( i = 0 ; i < nreps ; ++i ) { 270 for ( i = 0 ; i < nreps ; ++i ) {
@@ -274,7 +274,7 @@ int cat_unpack(const void * buf,
274 npacked += 2; 274 npacked += 2;
275 } 275 }
276 break; 276 break;
277 277
278 case 'H': 278 case 'H':
279 halfp = va_arg(ap, half*); 279 halfp = va_arg(ap, half*);
280 for ( i = 0 ; i < nreps ; ++i ) { 280 for ( i = 0 ; i < nreps ; ++i ) {
@@ -284,8 +284,8 @@ int cat_unpack(const void * buf,
284 npacked += 2; 284 npacked += 2;
285 } 285 }
286 break; 286 break;
287 287
288 288
289 case 'w': 289 case 'w':
290 wordp = va_arg(ap, word*); 290 wordp = va_arg(ap, word*);
291 for ( i = 0 ; i < nreps ; ++i ) { 291 for ( i = 0 ; i < nreps ; ++i ) {
@@ -297,7 +297,7 @@ int cat_unpack(const void * buf,
297 npacked += 4; 297 npacked += 4;
298 } 298 }
299 break; 299 break;
300 300
301 case 'W': 301 case 'W':
302 wordp = va_arg(ap, word*); 302 wordp = va_arg(ap, word*);
303 for ( i = 0 ; i < nreps ; ++i ) { 303 for ( i = 0 ; i < nreps ; ++i ) {
@@ -309,9 +309,9 @@ int cat_unpack(const void * buf,
309 npacked += 4; 309 npacked += 4;
310 } 310 }
311 break; 311 break;
312 312
313 case 'A': 313 case 'A':
314 if ( isnonprefixed ) { 314 if ( isnonprefixed ) {
315 maxlen = va_arg(ap, word); 315 maxlen = va_arg(ap, word);
316 arr = va_arg(ap, void *); 316 arr = va_arg(ap, void *);
317 317
@@ -332,26 +332,26 @@ int cat_unpack(const void * buf,
332 for ( i = 0 ; i < nreps ; ++i ) { 332 for ( i = 0 ; i < nreps ; ++i ) {
333 maxlen = cbvp->len; 333 maxlen = cbvp->len;
334 arr = cbvp->data; 334 arr = cbvp->data;
335 335
336 len = *bp++ << 24; 336 len = *bp++ << 24;
337 len |= *bp++ << 16; 337 len |= *bp++ << 16;
338 len |= *bp++ << 8; 338 len |= *bp++ << 8;
339 len |= *bp++; 339 len |= *bp++;
340 340
341 if ( len > maxlen ) 341 if ( len > maxlen )
342 return -1; 342 return -1;
343 343
344 memmove(arr, bp, len); 344 memmove(arr, bp, len);
345 cbvp->len = len; 345 cbvp->len = len;
346 bp += len; 346 bp += len;
347 347
348 ++cbvp; 348 ++cbvp;
349 npacked += len; 349 npacked += len;
350 } 350 }
351 isnonprefixed = 1; 351 isnonprefixed = 1;
352 } 352 }
353 break; 353 break;
354 354
355 case 'C': 355 case 'C':
356 case 'c': 356 case 'c':
357 sbytep = va_arg(ap, sbyte*); 357 sbytep = va_arg(ap, sbyte*);
@@ -365,8 +365,8 @@ int cat_unpack(const void * buf,
365 npacked += 1; 365 npacked += 1;
366 } 366 }
367 break; 367 break;
368 368
369 369
370 case 's': 370 case 's':
371 shalfp = va_arg(ap, shalf*); 371 shalfp = va_arg(ap, shalf*);
372 for ( i = 0 ; i < nreps ; ++i ) { 372 for ( i = 0 ; i < nreps ; ++i ) {
@@ -380,7 +380,7 @@ int cat_unpack(const void * buf,
380 npacked += 2; 380 npacked += 2;
381 } 381 }
382 break; 382 break;
383 383
384 case 'S': 384 case 'S':
385 shalfp = va_arg(ap, shalf*); 385 shalfp = va_arg(ap, shalf*);
386 for ( i = 0 ; i < nreps ; ++i ) { 386 for ( i = 0 ; i < nreps ; ++i ) {
@@ -394,7 +394,7 @@ int cat_unpack(const void * buf,
394 npacked += 2; 394 npacked += 2;
395 } 395 }
396 break; 396 break;
397 397
398 case 'l': 398 case 'l':
399 swordp = va_arg(ap, sword*); 399 swordp = va_arg(ap, sword*);
400 for ( i = 0 ; i < nreps ; ++i ) { 400 for ( i = 0 ; i < nreps ; ++i ) {
@@ -426,7 +426,7 @@ int cat_unpack(const void * buf,
426 npacked += 4; 426 npacked += 4;
427 } 427 }
428 break; 428 break;
429 429
430 case 'P': 430 case 'P':
431 cbvp = va_arg(ap, struct cat_bvec *); 431 cbvp = va_arg(ap, struct cat_bvec *);
432 for ( i = 0 ; i < nreps ; ++i ) { 432 for ( i = 0 ; i < nreps ; ++i ) {
@@ -452,7 +452,7 @@ int cat_unpack(const void * buf,
452 npacked += len; 452 npacked += len;
453 } 453 }
454 break; 454 break;
455 455
456 default: 456 default:
457 va_end(ap); 457 va_end(ap);
458 return -1; 458 return -1;