r2678 - in /packages/libstring-crc32-perl/branches/upstream/current: CRC32.pm CRC32.xs Makefile.PL README

eloy at users.alioth.debian.org eloy at users.alioth.debian.org
Sat May 6 11:07:31 UTC 2006


Author: eloy
Date: Sat May  6 11:07:30 2006
New Revision: 2678

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=2678
Log:
Load /tmp/tmp.uwQAGq8138/libstring-crc32-perl-1.4 into
packages/libstring-crc32-perl/branches/upstream/current.

Modified:
    packages/libstring-crc32-perl/branches/upstream/current/CRC32.pm
    packages/libstring-crc32-perl/branches/upstream/current/CRC32.xs
    packages/libstring-crc32-perl/branches/upstream/current/Makefile.PL
    packages/libstring-crc32-perl/branches/upstream/current/README

Modified: packages/libstring-crc32-perl/branches/upstream/current/CRC32.pm
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libstring-crc32-perl/branches/upstream/current/CRC32.pm?rev=2678&op=diff
==============================================================================
--- packages/libstring-crc32-perl/branches/upstream/current/CRC32.pm (original)
+++ packages/libstring-crc32-perl/branches/upstream/current/CRC32.pm Sat May  6 11:07:30 2006
@@ -6,7 +6,7 @@
 
 @ISA = qw(Exporter DynaLoader);
 
-$VERSION = 1.3;
+$VERSION = 1.4;
 
 # Items to export into callers namespace by default
 @EXPORT = qw(crc32);

Modified: packages/libstring-crc32-perl/branches/upstream/current/CRC32.xs
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libstring-crc32-perl/branches/upstream/current/CRC32.xs?rev=2678&op=diff
==============================================================================
--- packages/libstring-crc32-perl/branches/upstream/current/CRC32.xs (original)
+++ packages/libstring-crc32-perl/branches/upstream/current/CRC32.xs Sat May  6 11:07:30 2006
@@ -90,15 +90,21 @@
     return( crc^0xFFFFFFFF );
 }
 
+#define BUFSIZE 32768
+
 U32
 getcrc_fp( PerlIO *fp, U32 crcinit )
 {
     register U32 crc;
-    int     c;
+    register U16 len;
+    unsigned char buf[BUFSIZE];
 
     crc = crcinit^0xFFFFFFFF;
-    while( (c=PerlIO_getc(fp)) != EOF ) {
-        crc = ((crc>>8) & 0x00FFFFFF) ^ crcTable[ (crc^c) & 0xFF ];
+    while((len = PerlIO_read(fp, buf, BUFSIZE)) > 0 ) {
+        unsigned char * p = buf;
+        do {
+	    crc = ((crc >> 8) & 0x00FFFFFF) ^ crcTable[(unsigned char)( (crc & 0xff) ^ *(p++) )];
+	} while (--len);
     }
     return( crc^0xFFFFFFFF );
 }
@@ -157,4 +163,4 @@
 	sv = newSV(0);
 	sv_setuv(sv, (UV)rv);
 	PUSHs(sv_2mortal(sv));
-      }
+      }

Modified: packages/libstring-crc32-perl/branches/upstream/current/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libstring-crc32-perl/branches/upstream/current/Makefile.PL?rev=2678&op=diff
==============================================================================
--- packages/libstring-crc32-perl/branches/upstream/current/Makefile.PL (original)
+++ packages/libstring-crc32-perl/branches/upstream/current/Makefile.PL Sat May  6 11:07:30 2006
@@ -6,7 +6,7 @@
 WriteMakefile(
 	'NAME' => 'String::CRC32',
 	'DISTNAME' => 'String-CRC32',
-	'VERSION' => '1.3',
+	'VERSION' => '1.4',
 	'OBJECT' => 'CRC32.o',
 	'dist'   => {COMPRESS=>'gzip', SUFFIX=>'gz'}
 );

Modified: packages/libstring-crc32-perl/branches/upstream/current/README
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libstring-crc32-perl/branches/upstream/current/README?rev=2678&op=diff
==============================================================================
--- packages/libstring-crc32-perl/branches/upstream/current/README (original)
+++ packages/libstring-crc32-perl/branches/upstream/current/README Sat May  6 11:07:30 2006
@@ -19,6 +19,8 @@
    "make install"
 
 If you find any bugs, please send me a good description (or a patch ;-) ).
+Thanks to s0lar(at)gmx.li who sent me a patch to replace PerlIO_getc with
+PerlIO_read to improve performance.
 
 Have fun,
     Soenke J. Peters




More information about the Pkg-perl-cvs-commits mailing list