diff options
| -rw-r--r-- | gzlib.c | 13 | ||||
| -rw-r--r-- | test/minigzip.c | 16 |
2 files changed, 29 insertions, 0 deletions
| @@ -208,7 +208,11 @@ local gzFile gz_open(path, fd, mode) | |||
| 208 | *(state->path) = 0; | 208 | *(state->path) = 0; |
| 209 | else | 209 | else |
| 210 | #endif | 210 | #endif |
| 211 | #if !defined(NO_snprintf) && !defined(NO_vsnprintf) | ||
| 212 | snprintf(state->path, len + 1, "%s", (const char *)path); | ||
| 213 | #else | ||
| 211 | strcpy(state->path, path); | 214 | strcpy(state->path, path); |
| 215 | #endif | ||
| 212 | 216 | ||
| 213 | /* compute the flags for open() */ | 217 | /* compute the flags for open() */ |
| 214 | oflag = | 218 | oflag = |
| @@ -284,7 +288,11 @@ gzFile ZEXPORT gzdopen(fd, mode) | |||
| 284 | 288 | ||
| 285 | if (fd == -1 || (path = malloc(7 + 3 * sizeof(int))) == NULL) | 289 | if (fd == -1 || (path = malloc(7 + 3 * sizeof(int))) == NULL) |
| 286 | return NULL; | 290 | return NULL; |
| 291 | #if !defined(NO_snprintf) && !defined(NO_vsnprintf) | ||
| 292 | snprintf(path, 7 + 3 * sizeof(int), "<fd:%d>", fd); /* for debugging */ | ||
| 293 | #else | ||
| 287 | sprintf(path, "<fd:%d>", fd); /* for debugging */ | 294 | sprintf(path, "<fd:%d>", fd); /* for debugging */ |
| 295 | #endif | ||
| 288 | gz = gz_open(path, fd, mode); | 296 | gz = gz_open(path, fd, mode); |
| 289 | free(path); | 297 | free(path); |
| 290 | return gz; | 298 | return gz; |
| @@ -594,9 +602,14 @@ void ZLIB_INTERNAL gz_error(state, err, msg) | |||
| 594 | state->msg = (char *)"out of memory"; | 602 | state->msg = (char *)"out of memory"; |
| 595 | return; | 603 | return; |
| 596 | } | 604 | } |
| 605 | #if !defined(NO_snprintf) && !defined(NO_vsnprintf) | ||
| 606 | snprintf(state->msg, strlen(state->path) + strlen(msg) + 3, | ||
| 607 | "%s%s%s", state->path, ": ", msg); | ||
| 608 | #else | ||
| 597 | strcpy(state->msg, state->path); | 609 | strcpy(state->msg, state->path); |
| 598 | strcat(state->msg, ": "); | 610 | strcat(state->msg, ": "); |
| 599 | strcat(state->msg, msg); | 611 | strcat(state->msg, msg); |
| 612 | #endif | ||
| 600 | return; | 613 | return; |
| 601 | } | 614 | } |
| 602 | 615 | ||
diff --git a/test/minigzip.c b/test/minigzip.c index aa7ac7a..0a1f81f 100644 --- a/test/minigzip.c +++ b/test/minigzip.c | |||
| @@ -463,8 +463,12 @@ void file_compress(file, mode) | |||
| 463 | exit(1); | 463 | exit(1); |
| 464 | } | 464 | } |
| 465 | 465 | ||
| 466 | #if !defined(NO_snprintf) && !defined(NO_vsnprintf) | ||
| 467 | snprintf(outfile, sizeof(outfile), "%s%s", file, GZ_SUFFIX); | ||
| 468 | #else | ||
| 466 | strcpy(outfile, file); | 469 | strcpy(outfile, file); |
| 467 | strcat(outfile, GZ_SUFFIX); | 470 | strcat(outfile, GZ_SUFFIX); |
| 471 | #endif | ||
| 468 | 472 | ||
| 469 | in = fopen(file, "rb"); | 473 | in = fopen(file, "rb"); |
| 470 | if (in == NULL) { | 474 | if (in == NULL) { |
| @@ -499,7 +503,11 @@ void file_uncompress(file) | |||
| 499 | exit(1); | 503 | exit(1); |
| 500 | } | 504 | } |
| 501 | 505 | ||
| 506 | #if !defined(NO_snprintf) && !defined(NO_vsnprintf) | ||
| 507 | snprintf(buf, sizeof(buf), "%s", file); | ||
| 508 | #else | ||
| 502 | strcpy(buf, file); | 509 | strcpy(buf, file); |
| 510 | #endif | ||
| 503 | 511 | ||
| 504 | if (len > SUFFIX_LEN && strcmp(file+len-SUFFIX_LEN, GZ_SUFFIX) == 0) { | 512 | if (len > SUFFIX_LEN && strcmp(file+len-SUFFIX_LEN, GZ_SUFFIX) == 0) { |
| 505 | infile = file; | 513 | infile = file; |
| @@ -508,7 +516,11 @@ void file_uncompress(file) | |||
| 508 | } else { | 516 | } else { |
| 509 | outfile = file; | 517 | outfile = file; |
| 510 | infile = buf; | 518 | infile = buf; |
| 519 | #if !defined(NO_snprintf) && !defined(NO_vsnprintf) | ||
| 520 | snprintf(buf + len, sizeof(buf) - len, "%s", GZ_SUFFIX); | ||
| 521 | #else | ||
| 511 | strcat(infile, GZ_SUFFIX); | 522 | strcat(infile, GZ_SUFFIX); |
| 523 | #endif | ||
| 512 | } | 524 | } |
| 513 | in = gzopen(infile, "rb"); | 525 | in = gzopen(infile, "rb"); |
| 514 | if (in == NULL) { | 526 | if (in == NULL) { |
| @@ -546,7 +558,11 @@ int main(argc, argv) | |||
| 546 | gzFile file; | 558 | gzFile file; |
| 547 | char *bname, outmode[20]; | 559 | char *bname, outmode[20]; |
| 548 | 560 | ||
| 561 | #if !defined(NO_snprintf) && !defined(NO_vsnprintf) | ||
| 562 | snprintf(outmode, sizeof(outmode), "%s", "wb6 "); | ||
| 563 | #else | ||
| 549 | strcpy(outmode, "wb6 "); | 564 | strcpy(outmode, "wb6 "); |
| 565 | #endif | ||
| 550 | 566 | ||
| 551 | prog = argv[0]; | 567 | prog = argv[0]; |
| 552 | bname = strrchr(argv[0], '/'); | 568 | bname = strrchr(argv[0], '/'); |
