aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gzlib.c13
-rw-r--r--test/minigzip.c16
2 files changed, 29 insertions, 0 deletions
diff --git a/gzlib.c b/gzlib.c
index ca55c6e..b021372 100644
--- a/gzlib.c
+++ b/gzlib.c
@@ -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], '/');