src/share/native/java/util/zip/zip_util.c

Print this page

        

*** 1447,1456 **** --- 1447,1457 ---- */ jboolean JNICALL ZIP_ReadEntry(jzfile *zip, jzentry *entry, unsigned char *buf, char *entryname) { char *msg; + char tmpbuf[1024]; strcpy(entryname, entry->name); if (entry->csize == 0) { /* Entry is stored */ jlong pos = 0;
*** 1465,1476 **** ZIP_Lock(zip); n = ZIP_Read(zip, entry, pos, buf, count); msg = zip->msg; ZIP_Unlock(zip); if (n == -1) { ! jio_fprintf(stderr, "%s: %s\n", zip->name, ! msg != 0 ? msg : strerror(errno)); return JNI_FALSE; } buf += n; pos += n; } --- 1466,1480 ---- ZIP_Lock(zip); n = ZIP_Read(zip, entry, pos, buf, count); msg = zip->msg; ZIP_Unlock(zip); if (n == -1) { ! if (msg == 0) { ! getErrorString(errno, tmpbuf, sizeof(tmpbuf)); ! msg = tmpbuf; ! } ! jio_fprintf(stderr, "%s: %s\n", zip->name, msg); return JNI_FALSE; } buf += n; pos += n; }
*** 1479,1490 **** int ok = InflateFully(zip, entry, buf, &msg); if (!ok) { if ((msg == NULL) || (*msg == 0)) { msg = zip->msg; } ! jio_fprintf(stderr, "%s: %s\n", zip->name, ! msg != 0 ? msg : strerror(errno)); return JNI_FALSE; } } ZIP_FreeEntry(zip, entry); --- 1483,1497 ---- int ok = InflateFully(zip, entry, buf, &msg); if (!ok) { if ((msg == NULL) || (*msg == 0)) { msg = zip->msg; } ! if (msg == 0) { ! getErrorString(errno, tmpbuf, sizeof(tmpbuf)); ! msg = tmpbuf; ! } ! jio_fprintf(stderr, "%s: %s\n", zip->name, msg); return JNI_FALSE; } } ZIP_FreeEntry(zip, entry);