jdk/src/java.base/share/native/libzip/Deflater.c
changeset 28258 381e960842b6
parent 25859 3317bb8137f4
equal deleted inserted replaced
28257:070ef0dc9f5c 28258:381e960842b6
    74 
    74 
    75     if (strm == 0) {
    75     if (strm == 0) {
    76         JNU_ThrowOutOfMemoryError(env, 0);
    76         JNU_ThrowOutOfMemoryError(env, 0);
    77         return jlong_zero;
    77         return jlong_zero;
    78     } else {
    78     } else {
    79         char *msg;
    79         const char *msg;
    80         switch (deflateInit2(strm, level, Z_DEFLATED,
    80         int ret = deflateInit2(strm, level, Z_DEFLATED,
    81                              nowrap ? -MAX_WBITS : MAX_WBITS,
    81                                nowrap ? -MAX_WBITS : MAX_WBITS,
    82                              DEF_MEM_LEVEL, strategy)) {
    82                                DEF_MEM_LEVEL, strategy);
       
    83         switch (ret) {
    83           case Z_OK:
    84           case Z_OK:
    84             return ptr_to_jlong(strm);
    85             return ptr_to_jlong(strm);
    85           case Z_MEM_ERROR:
    86           case Z_MEM_ERROR:
    86             free(strm);
    87             free(strm);
    87             JNU_ThrowOutOfMemoryError(env, 0);
    88             JNU_ThrowOutOfMemoryError(env, 0);
    89           case Z_STREAM_ERROR:
    90           case Z_STREAM_ERROR:
    90             free(strm);
    91             free(strm);
    91             JNU_ThrowIllegalArgumentException(env, 0);
    92             JNU_ThrowIllegalArgumentException(env, 0);
    92             return jlong_zero;
    93             return jlong_zero;
    93           default:
    94           default:
    94             msg = strm->msg;
    95             msg = ((strm->msg != NULL) ? strm->msg :
       
    96                    (ret == Z_VERSION_ERROR) ?
       
    97                    "zlib returned Z_VERSION_ERROR: "
       
    98                    "compile time and runtime zlib implementations differ" :
       
    99                    "unknown error initializing zlib library");
    95             free(strm);
   100             free(strm);
    96             JNU_ThrowInternalError(env, msg);
   101             JNU_ThrowInternalError(env, msg);
    97             return jlong_zero;
   102             return jlong_zero;
    98         }
   103         }
    99     }
   104     }