Hello community,

here is the log from the commit of package perl-Compress-Raw-Lzma for 
openSUSE:Factory checked in at 2020-07-17 20:50:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Compress-Raw-Lzma (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Compress-Raw-Lzma.new.3592 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Compress-Raw-Lzma"

Fri Jul 17 20:50:22 2020 rev:11 rq:821417 version:2.094

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/perl-Compress-Raw-Lzma/perl-Compress-Raw-Lzma.changes
    2019-12-09 21:35:38.310088344 +0100
+++ 
/work/SRC/openSUSE:Factory/.perl-Compress-Raw-Lzma.new.3592/perl-Compress-Raw-Lzma.changes
  2020-07-17 20:51:03.060932863 +0200
@@ -1,0 +2,12 @@
+Tue Jul 14 03:08:58 UTC 2020 - Tina Müller <[email protected]>
+
+- updated to 2.094
+   see /usr/share/doc/packages/perl-Compress-Raw-Lzma/Changes
+
+    2.094 13 July 2020
+
+        * Issue with Append mode & SvOOK
+          Issue https://github.com/pmqs/Compress-Raw-Lzma/issues/4
+          10fbd83afbf02b255bfac79fc38f6b507bc93b4e
+
+-------------------------------------------------------------------

Old:
----
  Compress-Raw-Lzma-2.093.tar.gz

New:
----
  Compress-Raw-Lzma-2.094.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Compress-Raw-Lzma.spec ++++++
--- /var/tmp/diff_new_pack.UhPeNO/_old  2020-07-17 20:51:04.224934078 +0200
+++ /var/tmp/diff_new_pack.UhPeNO/_new  2020-07-17 20:51:04.228934081 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-Compress-Raw-Lzma
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,13 +17,13 @@
 
 
 Name:           perl-Compress-Raw-Lzma
-Version:        2.093
+Version:        2.094
 Release:        0
 %define cpan_name Compress-Raw-Lzma
 Summary:        Low-Level Interface to lzma compression library
 License:        Artistic-1.0 OR GPL-1.0-or-later
 Group:          Development/Libraries/Perl
-Url:            https://metacpan.org/release/%{cpan_name}
+URL:            https://metacpan.org/release/%{cpan_name}
 Source0:        
https://cpan.metacpan.org/authors/id/P/PM/PMQS/%{cpan_name}-%{version}.tar.gz
 Source1:        cpanspec.yml
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ Compress-Raw-Lzma-2.093.tar.gz -> Compress-Raw-Lzma-2.094.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Compress-Raw-Lzma-2.093/Changes 
new/Compress-Raw-Lzma-2.094/Changes
--- old/Compress-Raw-Lzma-2.093/Changes 2019-12-07 16:02:42.000000000 +0100
+++ new/Compress-Raw-Lzma-2.094/Changes 2020-07-13 11:56:48.000000000 +0200
@@ -1,6 +1,12 @@
 CHANGES
 -------
 
+  2.094 13 July 2020
+
+      * Issue with Append mode & SvOOK
+        Issue https://github.com/pmqs/Compress-Raw-Lzma/issues/4
+        10fbd83afbf02b255bfac79fc38f6b507bc93b4e
+
   2.093 7 December 2019
 
       * Lzma.xs -- add allocator to lzma_properties_decode
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Compress-Raw-Lzma-2.093/Lzma.xs 
new/Compress-Raw-Lzma-2.094/Lzma.xs
--- old/Compress-Raw-Lzma-2.093/Lzma.xs 2019-12-07 15:41:02.000000000 +0100
+++ new/Compress-Raw-Lzma-2.094/Lzma.xs 2020-05-30 17:39:42.000000000 +0200
@@ -15,10 +15,10 @@
 #include "perl.h"
 #include "XSUB.h"
 
-#include "lzma.h" 
+#include "lzma.h"
 
 #define NEED_sv_2pv_nolen
-#include "ppport.h" 
+#include "ppport.h"
 
 #if PERL_REVISION == 5 && (PERL_VERSION < 8 || (PERL_VERSION == 8 && 
PERL_SUBVERSION < 4 ))
 
@@ -53,18 +53,18 @@
     //bool     is_tainted;
     bool        forZip;
     void*       extraAddress ;
-    lzma_stream stream ; 
+    lzma_stream stream ;
 
     lzma_filter filters[LZMA_FILTERS_MAX + 1];
     SV* sv_filters[LZMA_FILTERS_MAX];
 
-    uInt     bufsize; 
+    uInt     bufsize;
     int      last_error ;
 
     uint64_t    bytesInflated ;
     uint64_t    compressedBytes ;
     uint64_t    uncompressedBytes ;
-    
+
 } di_stream;
 
 typedef di_stream * deflateStream ;
@@ -169,7 +169,7 @@
                 sv_setpv(var, ((err) ? GetErrorString(err) : "")) ;     \
                 SvNOK_on(var);
 
-   
+
 #if defined(__SYMBIAN32__)
 # define NO_WRITEABLE_DATA
 #endif
@@ -201,8 +201,8 @@
 {
     dTHX;
     char * errstr ;
-  
-    errstr = (char*) my_l_errmsg[error_no]; 
+
+    errstr = (char*) my_l_errmsg[error_no];
 
     return errstr ;
 }
@@ -296,7 +296,7 @@
     PERL_UNUSED_VAR(opaque);
     safefree(ptr);
 
-    return; 
+    return;
 }
 
 static di_stream *
@@ -320,7 +320,7 @@
     s->stream.allocator = allocator;
 
     return s ;
-    
+
 }
 
 static void
@@ -347,11 +347,11 @@
     if (properties) {
         s->filters[0].id = LZMA_FILTER_LZMA1;
 
-        if (lzma_properties_decode(&s->filters[0], s->stream.allocator, 
+        if (lzma_properties_decode(&s->filters[0], s->stream.allocator,
                 (const uint8_t*)properties, 5) != LZMA_OK)
             return FALSE;
 
-        s->extraAddress = (void*)s->filters[0].options; 
+        s->extraAddress = (void*)s->filters[0].options;
 
         ++i;
     }
@@ -402,7 +402,7 @@
     }
 }
 
-static SV* 
+static SV*
 #ifdef CAN_PROTOTYPE
 deRef(SV * sv, char * string)
 #else
@@ -429,7 +429,7 @@
             croak("%s: buffer parameter is a reference to a reference", 
string) ;
     }
 
-    if (!SvOK(sv)) { 
+    if (!SvOK(sv)) {
         sv = sv_2mortal(newSVpv("", 0));
     }
 
@@ -448,7 +448,7 @@
     dTHX;
     bool wipe = 0 ;
     STRLEN na;
-    
+
     SvGETMAGIC(sv);
     wipe = ! SvOK(sv) ;
 
@@ -612,7 +612,7 @@
 
 #include "constants.h"
 
-MODULE = Compress::Raw::Lzma PACKAGE = Compress::Raw::Lzma   
+MODULE = Compress::Raw::Lzma PACKAGE = Compress::Raw::Lzma
 
 REQUIRE:       1.924
 PROTOTYPES:    DISABLE
@@ -624,7 +624,7 @@
         PERL_UNUSED_VAR(trace);
     }
 
-       
+
 
 MODULE = Compress::Raw::Lzma PACKAGE = Compress::Raw::Lzma PREFIX = MY_
 
@@ -635,19 +635,19 @@
 uint32_t
 lzma_version_number()
 
-const char * 
-lzma_version_string() 
+const char *
+lzma_version_string()
 
 #define MY_LZMA_VERSION_STRING() LZMA_VERSION_STRING
-const char * 
-MY_LZMA_VERSION_STRING() 
+const char *
+MY_LZMA_VERSION_STRING()
 
 #define MY_LZMA_FILTER_LZMA1() LZMA_FILTER_LZMA1
-uint64_t 
+uint64_t
 MY_LZMA_FILTER_LZMA1()
 
 #define MY_LZMA_BACKWARD_SIZE_MAX() LZMA_BACKWARD_SIZE_MAX
-uint64_t 
+uint64_t
 MY_LZMA_BACKWARD_SIZE_MAX()
 
 lzma_bool
@@ -658,31 +658,31 @@
 lzma_mode_is_supported(mode)
     lzma_mode mode
 
-lzma_bool 
+lzma_bool
 lzma_check_is_supported(check)
     lzma_check check
 
-uint32_t 
-lzma_check_size(check) 
+uint32_t
+lzma_check_size(check)
     lzma_check check
 
-size_t 
+size_t
 lzma_stream_buffer_bound(uncompressed_size)
     size_t uncompressed_size
 
-lzma_bool 
+lzma_bool
 lzma_filter_encoder_is_supported(id)
     lzma_vli id
 
-lzma_bool 
+lzma_bool
 lzma_filter_decoder_is_supported(id)
     lzma_vli id
 
-uint64_t 
+uint64_t
 lzma_easy_encoder_memusage(preset)
     uint32_t preset
 
-uint64_t 
+uint64_t
 lzma_easy_decoder_memusage(preset)
     uint32_t preset
 
@@ -729,7 +729,7 @@
         XPUSHs(sv) ;
     }
   }
-  
+
 void
 lzma_raw_encoder(Class, flags, bufsize, filters, forZip)
     const char * Class
@@ -775,7 +775,7 @@
         XPUSHs(sv) ;
     }
   }
-  
+
 void
 lzma_stream_encoder(Class, flags, bufsize, filters, check=LZMA_CHECK_CRC32)
     const char * Class
@@ -821,7 +821,7 @@
         XPUSHs(sv) ;
     }
   }
-  
+
 
 void
 lzma_easy_encoder(Class, flags, bufsize, preset=LZMA_PRESET_DEFAULT, 
check=LZMA_CHECK_CRC32)
@@ -866,10 +866,10 @@
         XPUSHs(sv) ;
     }
   }
-  
-  
 
-MODULE = Compress::Raw::Lzma::Encoder PACKAGE = Compress::Raw::Lzma::Encoder   
+
+
+MODULE = Compress::Raw::Lzma::Encoder PACKAGE = Compress::Raw::Lzma::Encoder
 
 
 void
@@ -881,11 +881,11 @@
 
 
 
-DualType 
+DualType
 code (s, buf, output)
     Compress::Raw::Lzma::Encoder       s
     SV *       buf
-    SV *       output 
+    SV *       output
     uInt       cur_length = NO_INIT
     uInt       increment = NO_INIT
     lzma_ret   RETVAL = LZMA_OK;
@@ -897,30 +897,31 @@
 
     /* If the input buffer is a reference, dereference it */
     buf = deRef(buf, (char*)"code") ;
- 
+
     /* initialise the input buffer */
-#ifdef UTF8_AVAILABLE    
+#ifdef UTF8_AVAILABLE
     if (DO_UTF8(buf) && !sv_utf8_downgrade(buf, 1))
          croak("Wide character in " COMPRESS_CLASS "::code input parameter");
-#endif         
+#endif
     s->stream.next_in = (uint8_t*)SvPV_nomg(buf, origlen) ;
     s->stream.avail_in = origlen;
-     
+
     //if (is_tainted)
         //setTainted(output);
     /* and retrieve the output buffer */
     output = deRef_l(output, (char*)"code") ;
-#ifdef UTF8_AVAILABLE    
+#ifdef UTF8_AVAILABLE
     if (DO_UTF8(output) && !sv_utf8_downgrade(output, 1))
          croak("Wide character in " COMPRESS_CLASS "::code output parameter");
-#endif         
+#endif
 
-    if((s->flags & FLAG_APPEND_OUTPUT) != FLAG_APPEND_OUTPUT) {
+    if((s->flags & FLAG_APPEND_OUTPUT) == FLAG_APPEND_OUTPUT) {
+        SvOOK_off(output);
+    } else {
         SvCUR_set(output, 0);
-        /* sv_setpvn(output, "", 0); */
     }
 
-    if (s->forZip) 
+    if (s->forZip)
         addZipProperties(s, output) ;
 
     cur_length =  SvCUR(output) ;
@@ -941,22 +942,22 @@
 
         RETVAL = lzma_code(&(s->stream), LZMA_RUN);
 
-        if (RETVAL == LZMA_STREAM_END) 
+        if (RETVAL == LZMA_STREAM_END)
             break;
-        if (RETVAL != LZMA_OK) 
+        if (RETVAL != LZMA_OK)
             break;
 
         /* if (RETVAL == LZMA_BUF_ERROR) { */
-        
+
             if (s->stream.avail_out == 0)
                 continue ;
             if (s->stream.avail_in == 0) {
                 RETVAL = LZMA_OK ;
                 break ;
             }
-        
 
-        if (RETVAL != LZMA_OK) 
+
+        if (RETVAL != LZMA_OK)
             break;
     }
 
@@ -971,12 +972,12 @@
     }
     OUTPUT:
        RETVAL
-  
+
 
 DualType
 flush(s, output, f=LZMA_FINISH)
     Compress::Raw::Lzma::Encoder       s
-    SV * output 
+    SV * output
     uInt       cur_length = NO_INIT
     uInt       increment = NO_INIT
     uInt    bufinc = NO_INIT
@@ -987,21 +988,22 @@
     //if (is_tainted)
         //setTainted(output);
     bufinc = s->bufsize;
-  
+
     s->stream.avail_in = 0; /* should be zero already anyway */
-  
+
     /* retrieve the output buffer */
     output = deRef_l(output, (char*)"flush") ;
-#ifdef UTF8_AVAILABLE    
+#ifdef UTF8_AVAILABLE
     if (DO_UTF8(output) && !sv_utf8_downgrade(output, 1))
          croak("Wide character in " COMPRESS_CLASS "::flush input parameter");
-#endif         
-    if((s->flags & FLAG_APPEND_OUTPUT) != FLAG_APPEND_OUTPUT) {
+#endif
+    if((s->flags & FLAG_APPEND_OUTPUT) == FLAG_APPEND_OUTPUT) {
+        SvOOK_off(output);
+    } else {
         SvCUR_set(output, 0);
-        /* sv_setpvn(output, "", 0); */
     }
 
-    if (s->forZip) 
+    if (s->forZip)
         addZipProperties(s, output) ;
 
     cur_length =  SvCUR(output) ;
@@ -1021,21 +1023,21 @@
         }
 
         RETVAL = lzma_code(&(s->stream), f);
-    
+
         /* deflate has finished flushing only when it hasn't used up
-         * all the available space in the output buffer: 
+         * all the available space in the output buffer:
          */
         /* if (s->stream.avail_out != 0 || RETVAL < 0 ) */
         if (RETVAL != LZMA_OK)
             break;
     }
-  
+
     /* TODO -- ??? */
     /* RETVAL =  (RETVAL == LZMA_STREAM_END ? LZMA_OK : RETVAL) ; */
     s->last_error = RETVAL ;
 
     s->compressedBytes    += cur_length + increment - s->stream.avail_out ;
-  
+
     if (RETVAL == LZMA_STREAM_END) {
         SvPOK_only(output);
         SvCUR_set(output, cur_length + increment - s->stream.avail_out) ;
@@ -1115,7 +1117,7 @@
         XPUSHs(sv) ;
     }
   }
- 
+
 void
 lzma_raw_decoder(Class, flags, bufsize, filters, properties)
     const char* Class
@@ -1162,7 +1164,7 @@
         XPUSHs(sv) ;
     }
   }
- 
+
 MODULE = Compress::Raw::Lzma::Decoder PACKAGE = Compress::Raw::Lzma::Decoder
 
 void
@@ -1173,11 +1175,11 @@
     destroyStream(s) ;
 
 
-DualType 
+DualType
 code (s, buf, output)
     Compress::Raw::Lzma::Decoder       s
     SV *       buf
-    SV *       output 
+    SV *       output
     uInt       cur_length = 0;
     uInt       prefix_length = 0;
     uInt       increment = 0;
@@ -1185,9 +1187,9 @@
     STRLEN  na = NO_INIT ;
     STRLEN  origlen = NO_INIT
   PREINIT:
-#ifdef UTF8_AVAILABLE    
+#ifdef UTF8_AVAILABLE
     bool       out_utf8  = FALSE;
-#endif    
+#endif
   CODE:
     //bool is_tainted = getTaint3;
     //if (is_tainted)
@@ -1201,24 +1203,26 @@
             croak(UNCOMPRESS_CLASS "::code input parameter cannot be read-only 
when ConsumeInput is specified");
         SvPV_force(buf, na);
     }
-#ifdef UTF8_AVAILABLE    
+#ifdef UTF8_AVAILABLE
     if (DO_UTF8(buf) && !sv_utf8_downgrade(buf, 1))
          croak("Wide character in " UNCOMPRESS_CLASS "::code input parameter");
-#endif         
-    
+#endif
+
     /* initialise the input buffer */
     s->stream.next_in = (uint8_t*)SvPV_nomg(buf, origlen) ;
     s->stream.avail_in = origlen;
-       
+
     /* and retrieve the output buffer */
     output = deRef_l(output, (char*)"inflate") ;
-#ifdef UTF8_AVAILABLE    
+#ifdef UTF8_AVAILABLE
     if (DO_UTF8(output))
          out_utf8 = TRUE ;
     if (DO_UTF8(output) && !sv_utf8_downgrade(output, 1))
          croak("Wide character in " UNCOMPRESS_CLASS "::code output 
parameter");
-#endif         
-    if((s->flags & FLAG_APPEND_OUTPUT) != FLAG_APPEND_OUTPUT) {
+#endif
+    if((s->flags & FLAG_APPEND_OUTPUT) == FLAG_APPEND_OUTPUT) {
+        SvOOK_off(output);
+    } else {
         SvCUR_set(output, 0);
     }
 
@@ -1229,13 +1233,13 @@
 
     if (SvLEN(output)) {
         prefix_length = cur_length =  SvCUR(output) ;
-    
+
         if (s->flags & FLAG_LIMIT_OUTPUT && SvLEN(output) - cur_length - 1 < 
bufinc)
         {
             Sv_Grow(output, bufinc + cur_length + 1) ;
         }
-    
-        /* Only setup the stream output pointers if there is spare 
+
+        /* Only setup the stream output pointers if there is spare
            capacity in the outout SV
         */
         if (SvLEN(output) > cur_length + 1)
@@ -1245,10 +1249,10 @@
             s->stream.avail_out = increment;
         }
     }
-    
+
 
     s->bytesInflated = 0;
-    
+
     while (1) {
 
         if (s->stream.avail_out == 0) {
@@ -1281,10 +1285,10 @@
             }
         }
 
-        if (RETVAL != LZMA_OK) 
+        if (RETVAL != LZMA_OK)
             break;
     }
-   
+
     s->last_error = RETVAL ;
     if (RETVAL == LZMA_OK || RETVAL == LZMA_STREAM_END || RETVAL == 
LZMA_BUF_ERROR) {
            unsigned in ;
@@ -1296,10 +1300,10 @@
         SvPOK_only(output);
         SvCUR_set(output, prefix_length + s->bytesInflated) ;
        *SvEND(output) = '\0';
-#ifdef UTF8_AVAILABLE    
+#ifdef UTF8_AVAILABLE
         if (out_utf8)
             sv_utf8_upgrade(output);
-#endif        
+#endif
         SvSETMAGIC(output);
 
        /* fix the input buffer */
@@ -1307,7 +1311,7 @@
            in = s->stream.avail_in ;
            SvCUR_set(buf, in) ;
            if (in)
-               Move(s->stream.next_in, SvPVX(buf), in, char) ; 
+               Move(s->stream.next_in, SvPVX(buf), in, char) ;
             *SvEND(buf) = '\0';
             //if (is_tainted)
                 //setTainted(buf);
@@ -1341,7 +1345,7 @@
 id(filter)
     Lzma::Filter    filter
   CODE:
-    RETVAL = filter->id;    
+    RETVAL = filter->id;
   OUTPUT:
        RETVAL
 
@@ -1362,10 +1366,10 @@
     uint32_t dict_size
     uint32_t lc
     uint32_t lp
-    uint32_t pb 
+    uint32_t pb
     lzma_mode mode
-    uint32_t nice_len 
-    lzma_match_finder mf 
+    uint32_t nice_len
+    lzma_match_finder mf
     uint32_t depth
     CODE:
         lzma_options_lzma* p;
@@ -1440,7 +1444,7 @@
 
 lzma_bool
 lzma_lzma_preset(s, preset)
-    Compress::Raw::Lzma::Options s 
+    Compress::Raw::Lzma::Options s
     uint32_t preset
 
 void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Compress-Raw-Lzma-2.093/META.json 
new/Compress-Raw-Lzma-2.094/META.json
--- old/Compress-Raw-Lzma-2.093/META.json       2019-12-07 16:16:37.000000000 
+0100
+++ new/Compress-Raw-Lzma-2.094/META.json       2020-07-13 12:39:41.000000000 
+0200
@@ -4,13 +4,13 @@
       "Paul Marquess <[email protected]>"
    ],
    "dynamic_config" : 1,
-   "generated_by" : "ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter 
version 2.150005",
+   "generated_by" : "ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter 
version 2.150010",
    "license" : [
       "perl_5"
    ],
    "meta-spec" : {
       "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec";,
-      "version" : "2"
+      "version" : 2
    },
    "name" : "Compress-Raw-Lzma",
    "no_index" : {
@@ -45,6 +45,6 @@
          "web" : "https://github.com/pmqs/Compress-Raw-Lzma";
       }
    },
-   "version" : "2.093",
-   "x_serialization_backend" : "JSON::PP version 2.27300"
+   "version" : "2.094",
+   "x_serialization_backend" : "JSON::PP version 4.02"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Compress-Raw-Lzma-2.093/META.yml 
new/Compress-Raw-Lzma-2.094/META.yml
--- old/Compress-Raw-Lzma-2.093/META.yml        2019-12-07 16:16:37.000000000 
+0100
+++ new/Compress-Raw-Lzma-2.094/META.yml        2020-07-13 12:39:41.000000000 
+0200
@@ -7,7 +7,7 @@
 configure_requires:
   ExtUtils::MakeMaker: '0'
 dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter version 
2.150005'
+generated_by: 'ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter version 
2.150010'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -23,5 +23,5 @@
   bugtracker: https://github.com/pmqs/Compress-Raw-Lzma/issues
   homepage: https://github.com/pmqs/Compress-Raw-Lzma
   repository: git://github.com/pmqs/Compress-Raw-Lzma.git
-version: '2.093'
+version: '2.094'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Compress-Raw-Lzma-2.093/README 
new/Compress-Raw-Lzma-2.094/README
--- old/Compress-Raw-Lzma-2.093/README  2019-12-07 16:01:21.000000000 +0100
+++ new/Compress-Raw-Lzma-2.094/README  2020-07-13 11:55:04.000000000 +0200
@@ -1,11 +1,11 @@
 
                             Compress-Raw-Lzma
 
-                             Version 2.093
+                              Version 2.094
 
-                            7 December 2019
+                               13 July 2020
 
-       Copyright (c) 2009-2019 Paul Marquess. All rights reserved.
+       Copyright (c) 2009-2020 Paul Marquess. All rights reserved.
           This program is free software; you can redistribute it
            and/or modify it under the same terms as Perl itself.
 
@@ -193,7 +193,7 @@
         If you haven't installed Compress-Raw-Lzma then search 
Compress::Raw::Lzma.pm
         for a line like this:
 
-          $VERSION = "2.093" ;
+          $VERSION = "2.094" ;
 
      c. The version of lzma you have used.
         If you have successfully installed Compress-Raw-Lzma, this one-liner
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Compress-Raw-Lzma-2.093/lib/Compress/Raw/Lzma.pm 
new/Compress-Raw-Lzma-2.094/lib/Compress/Raw/Lzma.pm
--- old/Compress-Raw-Lzma-2.093/lib/Compress/Raw/Lzma.pm        2019-12-07 
16:00:21.000000000 +0100
+++ new/Compress-Raw-Lzma-2.094/lib/Compress/Raw/Lzma.pm        2020-07-13 
11:43:02.000000000 +0200
@@ -12,7 +12,7 @@
 use bytes ;
 our ($VERSION, $XS_VERSION, @ISA, @EXPORT, $AUTOLOAD);
 
-$VERSION = '2.093';
+$VERSION = '2.094';
 $XS_VERSION = $VERSION; 
 $VERSION = eval $VERSION;
 
@@ -1703,7 +1703,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2019 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2020 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Compress-Raw-Lzma-2.093/t/01llzma-generic.t 
new/Compress-Raw-Lzma-2.094/t/01llzma-generic.t
--- old/Compress-Raw-Lzma-2.093/t/01llzma-generic.t     2019-03-23 
22:58:33.000000000 +0100
+++ new/Compress-Raw-Lzma-2.094/t/01llzma-generic.t     2020-05-30 
17:41:35.000000000 +0200
@@ -15,8 +15,8 @@
 #use CompTestUtils;
 
 
-BEGIN 
-{ 
+BEGIN
+{
     # use Test::NoWarnings, if available
     my $extra = 0 ;
     $extra = 1
@@ -25,13 +25,13 @@
 
     my $count = 0 ;
     if ($] < 5.005) {
-        $count = 103 ;
+        $count = 199 ;
     }
     elsif ($] >= 5.006) {
-        $count = 689 ;
+        $count = 785 ;
     }
     else {
-        $count = 131 ;
+        $count = 227 ;
     }
 
     plan tests => $count + $extra;
@@ -100,12 +100,12 @@
 
         my $hello = "I am a HAL 9000 computer" ;
         my @hello = split('', $hello) ;
-        my ($err, $x, $X, $status); 
-     
+        my ($err, $x, $X, $status);
+
         ($x, $err) = $compress_class->new();
         isa_ok $x, "Compress::Raw::Lzma::Encoder";
         cmp_ok $err, '==', LZMA_OK, "status is LZMA_OK" ;
-     
+
         is $x->uncompressedBytes(), 0, "uncompressedBytes() == 0" ;
         is $x->compressedBytes(), 0, "compressedBytes() == 0" ;
 
@@ -115,31 +115,31 @@
         {
             $status = $x->code($_, $X) ;
             last unless $status == LZMA_OK ;
-        
+
             $Answer .= $X ;
         }
-         
+
         cmp_ok $status, '==', LZMA_OK, "code returned LZMA_OK" ;
-        
+
         cmp_ok  $x->flush($X), '==', LZMA_STREAM_END, "flush returned LZMA_OK" 
;
         $Answer .= $X ;
-         
+
         is $x->uncompressedBytes(), length $hello, "uncompressedBytes ok" ;
         is $x->compressedBytes(), length $Answer, "compressedBytes ok" ;
-         
+
         cmp_ok $x->flush($X), '==', LZMA_STREAM_END, "flush returned 
LZMA_STREAM_END";
         $Answer .= $X ;
 
         #open F, ">/tmp/xx1"; print F $Answer ; close F;
         my @Answer = split('', $Answer) ;
-         
+
         my $k;
         ok(($k, $err) = $uncompress_class->new(AppendOutput => 0,
                                                ConsumeInput => 0));
         isa_ok $k, "Compress::Raw::Lzma::Decoder" ;
-        cmp_ok $err, '==', LZMA_OK, "status is LZMA_OK" 
+        cmp_ok $err, '==', LZMA_OK, "status is LZMA_OK"
             or diag "GOT $err\n";
-     
+
         is $k->compressedBytes(), 0, "compressedBytes() == 0" ;
         is $k->uncompressedBytes(), 0, "uncompressedBytes() == 0" ;
         my $GOT = '';
@@ -150,9 +150,9 @@
             $status = $k->code($_, $Z) ;
             $GOT .= $Z ;
             last if $status == LZMA_STREAM_END or $status != LZMA_OK ;
-         
+
         }
-         
+
         cmp_ok $status, '==', LZMA_STREAM_END, "Got LZMA_STREAM_END" ;
         is $GOT, $hello, "uncompressed data matches ok" ;
         is $k->compressedBytes(), length $Answer, "compressedBytes ok" ;
@@ -163,39 +163,39 @@
 
     if (1)
     {
-        # bzdeflate/bzinflate - small buffer with a number
+        # code/code - small buffer with a number
         # ==============================
 
         my $hello = 6529 ;
-     
+
         ok  my ($x, $err) = $compress_class->new(AppendOutput => 1) ;
         ok $x ;
         cmp_ok $err, '==', LZMA_OK ;
-     
+
         my $status;
         my $Answer = '';
-         
+
         cmp_ok $x->code($hello, $Answer), '==', LZMA_OK ;
-        
+
         cmp_ok $x->flush($Answer), '==', LZMA_STREAM_END, "flush returned 
LZMA_STREAM_END";
-         
+
         my @Answer = split('', $Answer) ;
-         
+
         my $k;
         ok(($k, $err) = $uncompress_class->new(AppendOutput => 1,
                                                          ConsumeInput => 0) );
         ok $k ;
         cmp_ok $err, '==', LZMA_OK ;
-         
+
         #my $GOT = '';
         my $GOT ;
         foreach (@Answer)
         {
             $status = $k->code($_, $GOT) ;
             last if $status == LZMA_STREAM_END or $status != LZMA_OK ;
-         
+
         }
-         
+
         cmp_ok $status, '==', LZMA_STREAM_END ;
         is $GOT, $hello ;
 
@@ -204,7 +204,7 @@
     if(1)
     {
 
-    # bzdeflate/bzinflate options - AppendOutput
+    # code/code options - AppendOutput
     # ================================
 
         # AppendOutput
@@ -212,11 +212,11 @@
 
         my $hello = "I am a HAL 9000 computer" ;
         my @hello = split('', $hello) ;
-         
+
         ok  my ($x, $err) = $compress_class->new(AppendOutput => 1), "  
Created lzma object" ;
         ok $x ;
         cmp_ok $err, '==', LZMA_OK, "Status is LZMA_OK" ;
-         
+
         my $status;
         my $X;
         foreach (@hello)
@@ -224,32 +224,32 @@
             $status = $x->code($_, $X) ;
             last unless $status == LZMA_OK ;
         }
-         
+
         cmp_ok $status, '==', LZMA_OK ;
-         
+
         cmp_ok $x->flush($X), '==', LZMA_STREAM_END ;
-         
-         
+
+
         my @Answer = split('', $X) ;
-         
+
         my $k;
         ok(($k, $err) = $uncompress_class->new( {-AppendOutput =>1}));
         ok $k ;
         cmp_ok $err, '==', LZMA_OK ;
-         
+
         my $Z;
         foreach (@Answer)
         {
             $status = $k->code($_, $Z) ;
             last if $status == LZMA_STREAM_END or $status != LZMA_OK ;
-         
+
         }
-         
+
         cmp_ok $status, '==', LZMA_STREAM_END ;
         is $Z, $hello ;
     }
 
-     
+
     if(1)
     {
 
@@ -260,12 +260,12 @@
         my $contents = '' ;
         foreach (1 .. 50000)
           { $contents .= chr int rand 255 }
-        
-        
+
+
         ok my ($x, $err) = $compress_class->new(AppendOutput => 0) ;
         ok $x, "  lzma object ok" ;
         cmp_ok $err, '==', LZMA_OK,"  status is LZMA_OK" ;
-         
+
         is $x->uncompressedBytes(), 0, "  uncompressedBytes() == 0" ;
         is $x->compressedBytes(), 0, "  compressedBytes() == 0" ;
 
@@ -274,18 +274,18 @@
         my $status =  $x->code($contents, $X);
         #cmp_ok $x->code($contents, $X), '==', LZMA_OK, "  compressed ok" ;
         cmp_ok $status, '==', LZMA_OK, "  compressed ok" ;
-        
+
         #$Y = $X{key} ;
         $Y = $X ;
-         
-         
+
+
         #cmp_ok $x->flush($X{key}), '==', LZMA_OK ;
         #$Y .= $X{key} ;
         cmp_ok $x->flush($X), '==', LZMA_STREAM_END ;
         $Y .= $X ;
-         
-         
-     
+
+
+
         my $keep = $Y ;
 
         my $k;
@@ -293,7 +293,7 @@
                                                          ConsumeInput => 0) );
         ok $k ;
         cmp_ok $err, '==', LZMA_OK ;
-         
+
         #cmp_ok $k->code($Y, $Z{key}), '==', LZMA_STREAM_END ;
         #ok $contents eq $Z{key} ;
         cmp_ok $k->code($Y, $Z), '==', LZMA_STREAM_END ;
@@ -305,16 +305,16 @@
                                                           ConsumeInput => 0)) ;
         ok $k ;
         cmp_ok $err, '==', LZMA_OK ;
-        
-        my $s ; 
+
+        my $s ;
         my $out ;
         my @bits = split('', $keep) ;
         foreach my $bit (@bits) {
             $s = $k->code($bit, $out) ;
         }
-        
+
         cmp_ok $s, '==', LZMA_STREAM_END ;
-         
+
         ok $contents eq $out ;
 
 
@@ -326,15 +326,15 @@
         title "lzma - check remaining buffer after LZMA_STREAM_END, Consume 
$consume";
 
         ok my $x = $compress_class->new(AppendOutput => 0) ;
-     
+
         my ($X, $Y, $Z);
         cmp_ok $x->code($hello, $X), '==', LZMA_OK;
         cmp_ok $x->flush($Y), '==', LZMA_STREAM_END;
         $X .= $Y ;
-     
+
         ok my $k = $uncompress_class->new(AppendOutput => 0,
                                                     ConsumeInput => $consume) ;
-     
+
         my $first = substr($X, 0, 2) ;
         my $remember_first = $first ;
         my $last  = substr($X, 2) ;
@@ -366,8 +366,8 @@
 
         ok my $k = $uncompress_class->new(AppendOutput => 0,
                                                     ConsumeInput => 1) ;
-         
-        my $Z; 
+
+        my $Z;
         eval { $k->code("abc", $Z) ; };
         like $@, mkErr("Compress::Raw::Lzma::Decoder::code input parameter 
cannot be read-only when ConsumeInput is specified");
 
@@ -383,23 +383,23 @@
         foreach (1 .. 5000)
           { $contents .= chr int rand 255 }
         ok  my $x = $compress_class->new(AppendOutput => 1) ;
-         
+
         my $X ;
         my $status = $x->code(substr($contents,0), $X);
         cmp_ok $status, '==', LZMA_OK ;
-        
+
         cmp_ok $x->flush($X), '==', LZMA_STREAM_END  ;
-         
+
         my $append = "Appended" ;
         $X .= $append ;
-         
+
         ok my $k = $uncompress_class->new(AppendOutput => 1,
                                                     ConsumeInput => 1) ;
-         
-        my $Z; 
+
+        my $Z;
         my $keep = $X ;
         $status = $k->code(substr($X, 0), $Z) ;
-         
+
         cmp_ok $status, '==', LZMA_STREAM_END ;
         #print "status $status X [$X]\n" ;
         is $contents, $Z ;
@@ -415,35 +415,35 @@
 
         my $hello = "I am a HAL 9000 computer" ;
         my @hello = split('', $hello) ;
-        my ($err, $x, $X, $status); 
-     
+        my ($err, $x, $X, $status);
+
         ok( ($x, $err) = $compress_class->new(AppendOutput => 0) );
         ok $x ;
         cmp_ok $err, '==', LZMA_OK ;
-     
+
         $X = "" ;
         my $Answer = '';
         foreach (@hello)
         {
             $status = $x->code($_, $X) ;
             last unless $status == LZMA_OK ;
-        
+
             $Answer .= $X ;
         }
-         
+
         cmp_ok $status, '==', LZMA_OK ;
-        
+
         cmp_ok  $x->flush($X), '==', LZMA_STREAM_END ;
         $Answer .= $X ;
-         
+
         my @Answer = split('', $Answer) ;
-         
+
         my $k;
         ok(($k, $err) = $uncompress_class->new(AppendOutput => 1,
                                                         ConsumeInput => 0) );
         ok $k ;
         cmp_ok $err, '==', LZMA_OK ;
-     
+
         my $GOT ;
         my $Z;
         $Z = 1 ;#x 2000 ;
@@ -452,7 +452,7 @@
             $status = $k->code($_, $GOT) ;
             last if $status == LZMA_STREAM_END or $status != LZMA_OK ;
         }
-         
+
         cmp_ok $status, '==', LZMA_STREAM_END ;
         is $GOT, $hello ;
 
@@ -472,31 +472,131 @@
         cmp_ok $x->code($data, $X), '==',  LZMA_OK ;
 
         cmp_ok $x->flush($X), '==', LZMA_STREAM_END ;
-         
+
         my $append = "Appended" ;
         $X .= $append ;
         my $keep = $X ;
-         
+
         ok my $k = $uncompress_class->new( AppendOutput => 1,
                                                     ConsumeInput => 1);
-         
+
     #    cmp_ok $k->code(substr($X, 0, -1), $Z), '==', LZMA_STREAM_END ; ;
         cmp_ok $k->code(substr($X, 0), $Z), '==', LZMA_STREAM_END ; ;
-         
+
         ok $hello eq $Z ;
         is $X, $append;
-        
+
         $X = $keep ;
         $Z = '';
         ok $k = $uncompress_class->new( AppendOutput => 1,
                                                     ConsumeInput => 0);
-         
+
         cmp_ok $k->code(substr($X, 0, -1), $Z), '==', LZMA_STREAM_END ; ;
         #cmp_ok $k->code(substr($X, 0), $Z), '==', LZMA_STREAM_END ; ;
-         
+
         ok $hello eq $Z ;
         is $X, $keep;
-        
+
+    }
+
+
+    {
+        title 'RT#132734: test inflate append OOK output parameter';
+        # https://github.com/pmqs/Compress-Raw-Bzip2/issues/2
+
+        my $hello = "I am a HAL 9000 computer" ;
+        my $data = $hello ;
+
+        my($X, $Z);
+
+        ok my $x = $compress_class->new( {-AppendOutput => 1} );
+
+        cmp_ok $x->code($data, $X), '==',  LZMA_OK ;
+
+        cmp_ok $x->flush($X), '==', LZMA_STREAM_END ;
+
+        ok my $k = $uncompress_class->new( {-AppendOutput => 1,
+                                                -ConsumeInput => 1} ) ;
+        $Z = 'prev. ' ;
+        substr($Z, 0, 4, ''); # chop off first 4 characters using offset
+        cmp_ok $Z, 'eq', '. ' ;
+
+        # use Devel::Peek ; Dump($Z) ; # shows OOK flag
+
+        # if (1) { # workaround
+        #     my $prev = $Z;
+        #     undef $Z ;
+        #     $Z = $prev ;
+        # }
+
+        cmp_ok $k->code($X, $Z), '==', LZMA_STREAM_END ;
+        # use Devel::Peek ; Dump($Z) ; # No OOK flag
+
+        cmp_ok $Z, 'eq', ". $hello" ;
+    }
+
+
+    {
+        title 'RT#132734: test deflate append OOK output parameter';
+        # https://github.com/pmqs/Compress-Raw-Bzip2/issues/2
+
+        my $hello = "I am a HAL 9000 computer" ;
+        my $data = $hello ;
+
+        my($X, $Z);
+
+        $X = 'prev. ' ;
+        substr($X, 0, 6, ''); # chop off all characters using offset
+        cmp_ok $X, 'eq', '' ;
+
+        # use Devel::Peek ; Dump($X) ; # shows OOK flag
+
+        # if (1) { # workaround
+        #     my $prev = $Z;
+        #     undef $Z ;
+        #     $Z = $prev ;
+        # }
+
+        ok my $x = $compress_class->new( { -AppendOutput => 1 } );
+
+        cmp_ok $x->code($data, $X), '==',  LZMA_OK ;
+
+        cmp_ok $x->flush($X), '==', LZMA_STREAM_END ;
+
+        ok my $k = $uncompress_class->new( {-AppendOutput => 1,
+                                                -ConsumeInput => 1} ) ;
+        cmp_ok $k->code($X, $Z), '==', LZMA_STREAM_END ;
+
+        is $Z, $hello ;
+    }
+
+
+    {
+        title 'RT#132734: test flush append OOK output parameter';
+        # https://github.com/pmqs/Compress-Raw-Bzip2/issues/2
+
+        my $hello = "I am a HAL 9000 computer" ;
+        my $data = $hello ;
+
+        my($X, $Z);
+
+        my $F = 'prev. ' ;
+        substr($F, 0, 6, ''); # chop off all characters using offset
+        cmp_ok $F, 'eq', '' ;
+
+        # use Devel::Peek ; Dump($F) ; # shows OOK flag
+
+        ok my $x = $compress_class->new( {-AppendOutput => 1 });
+
+        cmp_ok $x->code($data, $X), '==',  LZMA_OK ;
+
+        cmp_ok $x->flush($F), '==', LZMA_STREAM_END ;
+
+        ok my $k = $uncompress_class->new( {-AppendOutput => 1,
+                                                -ConsumeInput => 1} ) ;
+        cmp_ok $k->code($X . $F, $Z), '==', LZMA_STREAM_END ;
+
+        is $Z, $hello ;
     }
 
     exit if $] < 5.006 ;
@@ -507,33 +607,33 @@
 
         my $hello = "I am a HAL 9000 computer" ;
         my @hello = split('', $hello) ;
-        my ($err, $x, $X, $status); 
-     
+        my ($err, $x, $X, $status);
+
         ok( ($x, $err) = $compress_class->new (AppendOutput => 1) );
         ok $x ;
         cmp_ok $err, '==', LZMA_OK ;
-     
+
         $X = "" ;
         my $Answer = '';
         foreach (@hello)
         {
             $status = $x->code($_, substr($Answer, length($Answer))) ;
             last unless $status == LZMA_OK ;
-        
+
         }
-         
+
         cmp_ok $status, '==', LZMA_OK ;
-        
+
         cmp_ok  $x->flush(substr($Answer, length($Answer))), '==', 
LZMA_STREAM_END ;
-         
+
         my @Answer = split('', $Answer) ;
-         
+
         my $k;
         ok(($k, $err) = $uncompress_class->new(AppendOutput => 1,
                                                         ConsumeInput => 0) );
         ok $k ;
         cmp_ok $err, '==', LZMA_OK ;
-     
+
         my $GOT = '';
         my $Z;
         $Z = 1 ;#x 2000 ;
@@ -542,7 +642,7 @@
             $status = $k->code($_, substr($GOT, length($GOT))) ;
             last if $status == LZMA_STREAM_END or $status != LZMA_OK ;
         }
-         
+
         cmp_ok $status, '==', LZMA_STREAM_END ;
         is $GOT, $hello ;
 
@@ -554,34 +654,34 @@
 
         my $hello = "I am a HAL 9000 computer" ;
         my @hello = split('', $hello) ;
-        my ($err, $x, $X, $status); 
-     
+        my ($err, $x, $X, $status);
+
         ok( ($x, $err) = $compress_class->new (AppendOutput => 1) );
         ok $x ;
         cmp_ok $err, '==', LZMA_OK ;
-     
+
         $X = "" ;
         my $Answer = '';
         foreach (@hello)
         {
             $status = $x->code($_, substr($Answer, 0)) ;
             last unless $status == LZMA_OK ;
-        
+
         }
-         
+
         cmp_ok $status, '==', LZMA_OK ;
-        
+
         cmp_ok  $x->flush(substr($Answer, 0)), '==', LZMA_STREAM_END ;
-         
+
         my @Answer = split('', $Answer) ;
-         
+
         # append, consume, limit
         my $k;
         ok(($k, $err) = $uncompress_class->new(AppendOutput => 1,
                                                         ConsumeInput => 0) );
         ok $k ;
         cmp_ok $err, '==', LZMA_OK ;
-     
+
         my $GOT = '';
         my $Z;
         $Z = 1 ;#x 2000 ;
@@ -590,15 +690,15 @@
             $status = $k->code($_, substr($GOT, 0)) ;
             last if $status == LZMA_STREAM_END or $status != LZMA_OK ;
         }
-         
+
         cmp_ok $status, '==', LZMA_STREAM_END ;
         is $GOT, $hello ;
     }
 
 }
 
-for my $class ([qw(AloneEncoder AloneDecoder)], 
-               [qw(StreamEncoder StreamDecoder)], 
+for my $class ([qw(AloneEncoder AloneDecoder)],
+               [qw(StreamEncoder StreamDecoder)],
                [qw(RawEncoder RawDecoder)] ,
                [qw(EasyEncoder AutoDecoder)] ,
            )


Reply via email to