--- CV/CV.xs 2017/12/23 04:11:49 1.51 +++ CV/CV.xs 2017/12/23 04:25:50 1.52 @@ -234,17 +234,19 @@ STRLEN len; char *data = SvPVbyte (path_or_data, len); - perlinterp_release (); - if (!magic_cookie[0]) { magic_cookie[0] = magic_open (MAGIC_SYMLINK); - magic_cookie[1] = magic_open (MAGIC_SYMLINK | MAGIC_MIME); + magic_cookie[1] = magic_open (MAGIC_SYMLINK | MAGIC_MIME_TYPE); + magic_load (magic_cookie[0], 0); + magic_load (magic_cookie[1], 0); } + perlinterp_release (); + RETVAL = ix & 2 - ? magic_buffer (magic_cookie[ix], data, len) - : magic_file (magic_cookie[ix], data); + ? magic_buffer (magic_cookie[ix & 1], data, len) + : magic_file (magic_cookie[ix & 1], data); perlinterp_acquire (); }