From 6bc316c46eab2b32100486edccb146fb3f446bc4 Mon Sep 17 00:00:00 2001 From: IgorA Date: Thu, 6 Apr 2017 06:42:07 +0000 Subject: [PATCH] fix continue crc calculation in 'archiver.obj' git-svn-id: svn://kolibrios.org@6883 a494cfbc-eb01-0410-851d-a64ba20cac60 --- .../libraries/libs-dev/libimg/png/libpng/pngwutil.asm | 8 +------- programs/fs/kfar/trunk/kfar_arc/crc.inc | 6 ++++++ programs/fs/kfar/trunk/zlib/crc32.asm | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/programs/develop/libraries/libs-dev/libimg/png/libpng/pngwutil.asm b/programs/develop/libraries/libs-dev/libimg/png/libpng/pngwutil.asm index 8e2b8fec03..b043bb57c9 100644 --- a/programs/develop/libraries/libs-dev/libimg/png/libpng/pngwutil.asm +++ b/programs/develop/libraries/libs-dev/libimg/png/libpng/pngwutil.asm @@ -174,8 +174,7 @@ if PNG_IO_STATE_SUPPORTED eq 1 end if ; Write the crc in a single operation - mov ebx,ebp - sub ebx,4 + lea ebx,[ebp-4] stdcall png_save_uint_32, ebx, [edi+png_struct.crc] stdcall png_write_data, edi, ebx, 4 @@ -3060,13 +3059,9 @@ endl pushad mov edi,[png_ptr] if PNG_WRITE_FILTER_SUPPORTED eq 0 -mov eax,[edi+png_struct.row_number] -png_debug1 2, ' (3)= %d', eax mov eax,[edi+png_struct.rowbytes] inc eax stdcall png_write_filtered_row, edi, [edi+png_struct.row_buf], eax -mov eax,[edi+png_struct.row_number] -png_debug1 2, ' (4)= %d', eax else mov esi,[row_info] movzx eax,byte[edi+png_struct.do_filter] @@ -3076,7 +3071,6 @@ else png_debug 1, 'in png_write_find_filter' - ; Find out how many bytes offset each pixel is movzx eax,byte[edi+png_struct.pixel_depth] add eax,7 diff --git a/programs/fs/kfar/trunk/kfar_arc/crc.inc b/programs/fs/kfar/trunk/kfar_arc/crc.inc index 5048394d64..fe9106eefd 100644 --- a/programs/fs/kfar/trunk/kfar_arc/crc.inc +++ b/programs/fs/kfar/trunk/kfar_arc/crc.inc @@ -15,6 +15,12 @@ init_crc_table: jnz .1 ret +crc_continue: +; in: eax = pervios crc, ecx = size, esi->buffer +; out: eax = crc + xor eax,-1 + jmp crc.loop + crc: ; in: ecx=size, esi->buffer ; out: eax=crc diff --git a/programs/fs/kfar/trunk/zlib/crc32.asm b/programs/fs/kfar/trunk/zlib/crc32.asm index 2a8459756d..f2c395a735 100644 --- a/programs/fs/kfar/trunk/zlib/crc32.asm +++ b/programs/fs/kfar/trunk/zlib/crc32.asm @@ -115,7 +115,7 @@ end if mov eax,[p1crc] mov ecx,[len] push edx - call crc + call crc_continue pop edx .end_f: ret