Commit Graph

9 Commits

Author SHA1 Message Date
Przemysław Czerpak
5873d78e2c 2014-03-20 04:01 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapifs.h
  * src/rtl/filebuf.c
  * src/rtl/filebufd.c
  * contrib/hbcomio/comio.c
  * contrib/hbmemio/memio.c
  * contrib/hbnetio/netiocli.c
  * contrib/hbtcpio/tcpio.c
    * changed internal FILE IO API. Now all functions which do
      not operate on PHB_FILE receive pointer to function table
      (PHB_FILE_FUNCS) used by given redirector.

  * src/rtl/vfile.c
    * open wirtual files in READWRITE mode by default
    * translate FO_* attributes to FXO_* ones

  * src/vm/classes.c
    ! fixed typo in RTE message

  * src/vm/garbage.c
    * use different error code (1301/1302) for destructor RTE

  * src/rtl/gtxwc/gtxwc.c
  * src/rtl/gtxwc/gtxwc.h
    + added support for HB_GTI_FONTWEIGHT with HB_GTI_FONTW_* actions

  * contrib/hbpgsql/rddcopy.c
    ! fixed memory leak
    % encapsulate PQ calls in hb_vmUnlock()/hb_vmLock() to not stop
      other threads when GC is activated
2014-03-20 04:01:25 +01:00
Przemysław Czerpak
21ec946359 2014-03-16 19:54 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapifs.h
  * src/rtl/filebuf.c
    * move HB_FILE_TYPE_MAX definition to header file
    % include C stat() header only in *nix builds

  * src/pp/ppcore.c
    ! force stringify when illegal characters are included inside
      square brackets []
2014-03-16 19:54:22 +01:00
Przemysław Czerpak
07960b8b7d 2014-03-12 00:18 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/hbdbsort.c
    * casting

  * src/rtl/filesys.c
    + added additional method to extract file time in MS-Windows version of
      hb_fsGetFileTime()

  * include/hbapifs.h
  * src/rtl/vfile.c
    + added C functions to manipulate PRG level hb_vf*() file pointer items

  * include/hbapifs.h
  * src/rtl/filebuf.c
    + added C functions to create/extract file IO handle from raw file handle
    + added C functions to check if file IO handle points to local file

  * contrib/hbmzip/mzip.c
    * changed hb_fs*() API to hb_file*() API
    ! fixed file time setting in *nix builds
2014-03-12 00:18:12 +01:00
Przemysław Czerpak
c89f63ee0b 2014-03-06 19:07 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/vm/set.c
    ! fixed freed memory access exploited by interactions between
      modifications in last few years.
    ! do not try to remove trailing ^Z char reading from the stream
      if FS_END seek reports 0.
    ! if possible open printer/alternate/extra output in write only mode
      to avoid problem on devices where read access is not available.

  * src/rtl/langapi.c
    * keep EN lang active after deinitialization

  * src/rtl/filesys.c
    ! fixed condition for file time refresh in *nix builds
    ! fixed file time setting in *nix builds

  * include/hbapifs.h
  * src/rtl/Makefile
  * src/rtl/filebuf.c
  + src/rtl/filebufd.c
    * renamed hb_fileRegister2() to hb_fileRegisterFull()
    + added new function hb_fileRegisterPart() which simplifies writing
      small FILE IO redirectors.

  * contrib/hbmemio/memio.c
  * contrib/hbnetio/netiocli.c
    * use hb_fileRegisterFull()

  * contrib/hbplist.txt
  + contrib/hbtcpio/hbtcpio.hbc
  + contrib/hbtcpio/hbtcpio.hbp
  + contrib/hbtcpio/hbtcpio.hbx
  + contrib/hbtcpio/tcpio.c
    + added new Harbour FILE IO redirector.
      It recognizes and process names with "tcp:" prefix, in form like:
         tcp:<host>:<port>[:<timeout>]
      It can be used in different subsystems using Harbour FILE IO and
      stream read/write operations, i.e.
         REQUEST HB_TCPIO
         SET PRINTER TO tcp:192.168.0.110:9100
      can be used to connect to network printers using TCP direct printing.

  * utils/hbmk2/po/hbmk2.pt_BR.po
    ! fixed typo in translation
2014-03-06 19:07:49 +01:00
Przemysław Czerpak
6374c20735 2014-02-26 13:21 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* ChangeLog.txt
  * include/harbour.hbx
  * src/rtl/Makefile
  - src/rtl/xfile.c
  + src/rtl/vfile.c
    * renamed PRG functions HB_X*() to HB_VF*()
    * renamed PRG functions hb_vf[GS]etAttr() to hb_vfAttr[GS]et()
    * renamed PRG functions hb_vf[GS]etDateTime() to hb_vfTime[GS]et()

  * include/hbapifs.h
  * src/rtl/filebuf.c
  * src/rtl/fscopy.c
  * contrib/hbmemio/memio.c
  * contrib/hbnetio/netio.h
  * contrib/hbnetio/netiocli.c
  * contrib/hbnetio/netiosrv.c
    * renamed C functions hb_file[GS]etAttr() to hb_fileAttr[GS]et()
    * renamed C functions hb_file[GS]etFileTime() to hb_fileTime[GS]et()

  * contrib/hbnetio/netio.h
  * contrib/hbnetio/netiocli.c
  * contrib/hbnetio/netiosrv.c
    + added support for redirecting hb_vfConfig() to the server.
      NETIO does not use it anyhow NETIO works as full redirector
      to server system and it may be used on the server side.
2014-02-26 13:21:23 +01:00
Przemysław Czerpak
63403f88e4 2014-02-26 00:10 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapifs.h
  * src/rtl/filebuf.c
    + added new C function hb_filePOpen()

  * include/hbset.h
  * src/vm/set.c
  * src/rtl/console.c
    * changed hb_fs*() API to hb_file*() API in HVM SETs

  * src/vm/memvars.c
    * changed hb_fs*() API to hb_file*() API in .mem files

  * src/vm/runner.c
    * changed hb_fs*() API to hb_file*() API in .hrb files

  * include/hbapifs.h
  * src/rtl/filesys.c
    * renamed hb_fsPOpen() param
2014-02-26 00:10:05 +01:00
Przemysław Czerpak
e4fff1fb61 2014-02-25 19:34 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbhpdf/3rd/libhpdf/hpdffdfj.c
    ! removed executable attribute

  * src/vm/thread.c
    ! fixed typo reported by Viktor - thanks.

  * include/hbapifs.h
  * src/rtl/hbproces.c
  * src/rtl/spfiles.c
  * src/rtl/filesys.c
  * src/rtl/file.c
    * synced parameter file and dir names used in declarations and
      implementations

  * include/hbrddcdx.h
    + added few fields used in ADI files

  * src/codepage/cp_utf8.c
  * src/rtl/cdpapi.c
    ! always return -1, 0 and 1 from hb_cdpcmp() function.
      Workaround for problem exploited by optimized memcmp() function.

  * src/rdd/dbfntx/dbfntx1.c
    ! fixed possible sort problem when optimized memcmp() is used
    * added feew missing const declarations

  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfntx/dbfntx1.c
    ! fixed OrdWildSeek() to work with optimized memcmp()

  * include/hbapifs.h
  * src/rtl/disksphb.c
    + added new C function:
         double hb_fsDiskSpace( const char * pszPath, HB_USHORT uiType );

  * include/hbapifs.h
  * src/rtl/direct.c
    + added new C function:
         PHB_ITEM hb_fsDirectory( const char * pszDirSpec,
                                  const char * pszAttributes );

  * src/rtl/filesys.c
    ! report EOF in hb_fsEof() also when file position is out of file size
    * updated comment

  * include/hbapifs.h
  * src/rtl/filebuf.c
    + extended Harbour FILE IO API and added support for read/write filepos,
      directory and link operations.
      Read/write filepos support in some systems (i.e. *nixes) needs additional
      emulation code. If it's not necessary then this functionality can be
      disabled by FXO_NOSEEKPOS attribute. Now this attribute is used by our
      RDD code.

  * src/rtl/Makefile
  + src/rtl/xfile.c
    + added PRG interface to Harbour FILE IO API
      The following PRG functions are available for Harbour programmers:
         HB_XEXISTS( <cFileName>, [ @<cDestFileName> ] ) -> <lOK>
         HB_XERASE( <cFileName> ) -> <nResult>
         HB_XRENAME( <cFileSrc>, <cFileDst> ) -> <nResult>
         HB_XCOPYFILE( <cFileSrc>, <cFileDst> ) -> <nResult>
         HB_XDIREXISTS( <cDirName> ) -> <lExists>
         HB_XDIRMAKE( <cDirName> ) -> <nSuccess>
         HB_XDIRREMOVE( <cDirName> ) -> <nSuccess>
         HB_XDIRECTORY( [ <cDirSpec> ], [ <cAttr> ] ) -> <aDirectory>
         HB_XDIRSPACE( <cDirName>, [ <nInfoType> ] ) -> <nFreeSpace>
         HB_XGETATTR( <cFileName>, @<nAttr> ) -> <lOK>
         HB_XSETATTR( <cFileName>,  <nAttr> ) -> <lOK>
         HB_XGETDATETIME( <cFileName>, @<tsDateTime> ) -> <lOK>
         HB_XSETDATETIME( <cFileName>,  <tsDateTime> ) -> <lOK>
         HB_XLINK( <cExistingFileName>, <cNewFileName> ) -> <nSuccess>
         HB_XLINKSYM( <cTargetFileName>, <cNewFileName> ) -> <nSuccess>
         HB_XLINKREAD( <cFileName> ) -> <cDestFileName> | ""
         HB_XOPEN( <cFileName>, [ <nMode> ], [ <nAttr> ] ) -> <pHandle> | NIL
         HB_XCLOSE( <pHandle> ) -> <lOK>
         HB_XLOCK( <pHandle>, <nStart>, <nLen>, [ <nType> ] ) -> <lOK>
         HB_XUNLOCK( <pHandle>, <nStart>, <nLen> ) -> <lOK>
         HB_XLOCKTEST( <pHandle>, <nStart>, <nLen>, [ <nType> ] ) ;
               -> <nPID> | 0 (nolock) | -1 (err)
         HB_XREAD( <pHandle>, @<cBuff>, [ <nToRead> ], [ <nTimeOut> ] ) ;
               -> <nRead>
         HB_XWRITE( <pHandle>, <cBuff>, [ <nToWrite> ], [ <nTimeOut> ] ) ;
               -> <nWritten>
         HB_XREADAT( <pHandle>, @<cBuff>, [ <nToRead> ], [ <nAtOffset> ] ) ;
               -> <nRead>
         HB_XWRITEAT( <pHandle>, <cBuff>, [ <nToWrite> ], [ <nAtOffset> ] ) ;
               -> <nWritten>
         HB_XSEEK( <pHandle>, <nOffset>, [ <nWhence> ] ) -> <nOffset>
         HB_XTRUNC( <pHandle>, [ <nAtOffset> ] ) -> <lOK>
         HB_XSIZE( <pHandle> ) -> <nSize>
         HB_XEOF( <pHandle> ) -> <lEOF>
         HB_XFLUSH( <pHandle>, [ <lDirtyOnly> ] ) -> NIL
         HB_XCOMMIT( <pHandle> ) -> NIL
         HB_XCONFIG( <pHandle>, <nSet>, [ <nParam> ] ) -> <nResult>
         HB_XHANDLE( <pHandle> ) -> <nOsHandle>
         HB_XTEMPFILE( @<cFileName>, [ <cDir> ], [ <cPrefix> ], [ <cExt> ], ;
                       [ <nAttr> ] ) -> <pHandle> | NIL
      Please remember that not all redirectors have to support all of them.
      I.e. MEMIO allows to use directory names in files but does not allow to
      create or remove directories. It also does not support file attributes
      and times in current implementation though it can be easy added.
      HB_XCONFIG() is general function which can be used by redirector
      authors to make some special operations which are specific to given
      device.
      HB_XTEMPFILE() always creates temporary files on local system without
      switching to FILE IO redirector. It's intentional behavior.

  * src/rtl/fscopy.c
    * used Harbour FILE IO API in hb_fsCopy()/HB_FCOPY()
      Please remember that HB_FCOPY() always makes operation using current
      system when HB_XCOPY() may optimize it moving the operation to low
      level subsystem or even other computer i.e.  NETIO can do that  when
      both files are located on the same server.

  * src/rdd/delim1.c
  * src/rdd/sdf1.c
  * src/rdd/dbf1.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/dbffpt/dbffpt1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/hsx/hsx.c
    * open files with FXO_NOSEEKPOS attribute to inform low level API that
      read/write filepos is not used (disables unnecessary filepos emulation).

  * contrib/hbnetio/netio.h
  * contrib/hbnetio/netiocli.c
  * contrib/hbnetio/netiosrv.c
    + added support for extended Harbour FILE IO API.

  * contrib/hbnetio/utils/hbnetio/netiomgm.hb
    ! renamed "quit" command to "shutdown" as suggested by Rolf.

  * contrib/hbnetio/utils/hbnetio/hbnetio.prg
    * allow to interrupt server process using ESC when run in console window.

  * contrib/hbmemio/memio.c
    + added support for extended Harbour FILE IO API.
      I left two minor TODO notes - maybe someone will try to implement it.
2014-02-25 19:34:33 +01:00
vszakats
9687850865 2013-03-16 02:10 UTC+0100 Viktor Szakats (harbour syenar.net)
* (all files)
    * stripped svn header
    * minor cleanups
    ; use following command to find out the history of files:
       git log
       git log --follow
       git blame
       git annotate
2013-03-16 02:11:42 +01:00
vszakats
a4a357a18b 2013-03-15 11:12 UTC+0100 Viktor Szakats (harbour syenar.net)
* /harbour/* -> /*
    * moved whole Harbour source tree one level up to
      avoid single 'harbour' top dir
2013-03-15 11:13:30 +01:00