Files
harbour-core/harbour/contrib/hbmzip
Viktor Szakats 84a89f08ff 2009-02-20 19:03 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* bin/hb-func.sh
    ! Fixed gtalleg lib name.
    % Removed explicit harbour -gc0 option. This is now the default.

  * utils/hbmk2/hbmk2.prg
    + Added fmstat/nofmstat support.
    ! Minor fix to allow more freedom in formatting inside .hbp files.
    ! Fixed to delete prg stub file when using -hbcc option.
    + Added Copyright section for Przemek for the ideas I've
      borrowed from hbmk script and contributed code.
    + Detect platform default GT and only create stub if the
      user selected GT is different.
    + Now using versions shared libs on *nixes.
    + Mode detection now regards the ending or the beginning
      of the original name, so prefixed or postfixed names will
      also be recognized: xhbcmp, hbcmpx, myhbcmp.
    ! Fixed to multiple -gt options override each other so the
      last one will be effective.
    ! Fixed error message text when stub cannot be created.
      Furthermore in this case hbmk will now quit.
    + Also using '-Wl,--start-group' for bsd (from hbmk script).
    + Added '-bind_at_load', '-multiply_defined suppress' gcc
      options for darwin shared mode (from hbmk script).
    * Changed stub name to hbstub (from hbmkgt).
    * pthread lib handling streamlined based on hbmk script,
      but this probably needs further cleaning as the script
      isn't clear to me here.
    + Added fmstat/nofmstat switch. It most probably needs some
      tweaking, as the conditions seem rather sophisticated here.
      TODO: For non-*nix/non-gcc platforms (msvc/bcc32/owatcom
            most importantly).
    + Added system libs for darwin if gtcrs or gtsln are selected.
      (nslang isn't a default lib here, so it won't work on plain
      installations, slang however will).
    + Missed from previous commit: Fix so that -nohbp doesn't
      prevent processing the global config .hbp file.
    ! Fixed typo in prev commit.

  * utils/hbmk2/examples/contrib.hbp
    - Removed hbtip as it's not fully portable (dos).
  + utils/hbmk2/examples/contribf.hbp
    + Added complete database of contrib, with
      availability information.

  * contrib/xhb/Makefile
  * contrib/hbmsql/Makefile
  * contrib/hbmzip/Makefile
  * contrib/hbziparc/Makefile
  * contrib/hbnf/Makefile
  * contrib/hbmisc/Makefile
  * contrib/hbvpdf/Makefile
    * Formatting.
2009-02-20 18:06:33 +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, dDate, 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, @dDate, @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