Files
harbour-core/harbour/contrib/hbmzip
Viktor Szakats 786dc0ec9b 2009-09-22 09:47 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbwince.h
  * source/common/hbwince.c
    + Added WIDE version of dummy winapi implementations for WinCE.

  * source/common/hbffind.c
  * source/common/hbfsapi.c
  * source/rtl/diskspac.c
  * source/rtl/disksphb.c
  * source/rtl/filesys.c
  * source/vm/dynlibhb.c
  * contrib/hbmzip/hbmzip.c
  * contrib/xhb/filestat.c
  * contrib/hbwin/win_dll.c
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/win_prn1.c
  * contrib/hbwin/win_prn2.c
    + Changed forced ANSI version of winapi calls to native version.
    ! Fixed potential GPF in WIN_LOADBITMAPFILE().
    % Cleaned types/variables in hb_PrintFileRaw().
    % Minor type cleanup and formatting in filestat.c.
    ; TODO: There are still some forced ANSI calls in Harbour code:
            (plus some dynamically called ones)
      ---
      source/common/hbver.c:264:      if( GetVersionExA( &osVer ) )
      source/common/hbver.c:306:                  if( GetVersionExA( ( OSVERSIONINFOA * ) &osVerEx ) )
      source/common/hbgete.c:75:      DWORD size = GetEnvironmentVariableA( szName, NULL, 0 );
      source/common/hbgete.c:80:         GetEnvironmentVariableA( szName, pszBuffer, size );
      source/common/hbgete.c:114:   bRetVal = GetEnvironmentVariableA( szName, szBuffer, nSize ) != 0;
      source/common/hbgete.c:157:   return SetEnvironmentVariableA( szName, szValue ) != 0;
      source/rtl/filesys.c:2687:   fResult = GetCurrentDirectoryA( ulSize, pszBuffer );
      source/rtl/filesys.c:2876:      type = GetDriveTypeA( buffer );
      source/rtl/fstemp.c:153:         if( ! GetTempPathA( ( DWORD ) ( HB_PATH_MAX - 1 ), pszName ) )
      source/rtl/fstemp.c:270:         if( ! GetTempPathA( ( DWORD ) HB_PATH_MAX, szTempDir ) )
      source/rtl/fstemp.c:278:      fResult = GetTempFileNameA( szTempDir, pszPrefix ? pszPrefix : "hb", 0, pszBuffer );
      source/rtl/net.c:157:   GetComputerNameA( pszValue, &ulLen );
      source/rtl/net.c:186:   GetUserNameA( pszValue, &ulLen );
      contrib/hbwin/win_prn2.c:169:      DWORD dwSize = GetProfileStringA( "windows", "device", "", pPrinterName, *pdwBufferSize );
      ---

  ; Review me.
2009-09-22 07:49:14 +00:00
..

/*
 * $Id$
 */


This folder contains compression related files including:
 * zip file support based on minizip library (http://www.winimage.com/zLibDll/minizip.html)
   including:
   * minizip version 1.01e source files
   * wrapper functions for minizip
   * some additionl functions to provide a higher level API for zip files

Some small changes (to fix compile time warning and errors) are applied to original
source of minizip 1.01e:

  * harbour/contrib/hbzlib/zip.c
    * added forward definitions of allocate_new_datablock(),
      free_datablock(), init_linkedlist(), add_data_in_datablock(),
      ziplocal_TmzDateToDosDate()
    * pacified warnings of unused args dosDate and crcForCrypting
    * fixed 2 warnings: assigned value is not used. See, TOFIX
      comment for one of the fixes
    * fixed BCC warning "function call with no prototype" by changing
           local int zipFlushWriteBuffer(zi)
              zip_internal* zi;
           {
      to
           local int zipFlushWriteBuffer(zip_internal* zi)
           {
      I expected this code be equivavlent! ??? :/

  * harbour/contrib/hbzlib/unzip.c
    * added forward definitions of strcmpcasenosensitive_internal(),
      unzlocal_DosDateToTmuDate(), unzlocal_CheckCurrentFileCoherencyHeader()
    * fixed 8 warnings: assigned value is not used. See, TOFIX
      comment for one of the fixes

  * harbour/contrib/hbzlib/ioapi.c
    * pacified 7 warnings: unused args opaque
    * fixed warning: assigned value is not used


Harbour functions to mange ZIP files:
=====================================

HB_ZipOpen( cFileName, [ iMode = HB_ZIP_CREATE ],
            [ @cGlobalComment ] ) --> hZip
HB_ZipClose( hZip, [ cGlobalComment ] ) --> nError
HB_ZipFileCreate( hZip, cZipName, tDateTime, cTime,
                  nInternalAttr, nExternalAttr,
                  [ nMethod = HB_ZLIB_METHOD_DEFLATE ],
                  [ nLevel = HB_ZLIB_COMPRESSION_DEFAULT ],
                  [ cPassword, ulFileCRC32 ], [ cComment ] ) --> nError
HB_ZipFileWrite( hZip, cData [, nLen ] ) --> nError
HB_ZipFileClose( hZip ) --> nError
HB_ZipStoreFile( hZip, cFileName, [ cZipName ], ;
                 [ cPassword ], [ cComment ] ) --> nError
HB_ZipStoreFileHandle( hZip, fhnd, cZipName, ;
                 [ cPassword ], [ cComment ] ) --> nError
HB_zipFileCRC32( cFileName ) --> nError


HB_UnzipOpen( cFileName ) --> hUnzip
HB_UnzipClose( hUnzip ) --> nError
HB_UnzipGlobalInfo( hUnzip, @nEntries, @cGlobalComment ) --> nError
HB_UnzipFileFirst( hUnzip ) --> nError
HB_UnzipFileNext( hUnzip ) --> nError
HB_UnzipFilePos( hUnzip ) --> nPosition
HB_UnzipFileGoto( hUnzip, nPosition ) --> nError
HB_UnzipFileInfo( hUnzip, @cZipName, @tDateTime, @cTime,
                  @nInternalAttr, @nExternalAttr,
                  @nMethod, @nSize, @nCompressedSize,
                  @lCrypted, @cComment ) --> nError
HB_UnzipFileOpen( hUnzip, [ cPassword ] ) --> nError
HB_UnzipFileRead( hUnzip, @cBuf [, nLen ] ) --> nRead
HB_UnzipFileClose( hUnzip ) --> nError
HB_UnzipExtractCurrentFile( hUnzip, [ cFileName ], [ cPassword ] ) --> nError
HB_UnzipExtractCurrentFileToHandle( hZip, fhnd, [ cPassword ] ) --> nError


HB_ZipDeleteFile( cZipFile, cFileMask ) --> nError