Commit Graph

19055 Commits

Author SHA1 Message Date
Przemysław Czerpak
bb9d85f0fc 2014-03-04 00:08 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/vm/set.c
    ! added missing FXO_APPEND flag.
      It should fix #54.

  * src/vm/asort.c
    ! respect milliseconds part when timestamp values are compared in ASORT()
      Note: ASORT() does not use exact comparison so when mixed date and
      timestamp values are used only date is significant. Just like in:
         ASort( aValue, {|x, y| x < y } )

  * src/rtl/filebuf.c
    ! fixed C&P typo.
      It should fix problem with SET PRINTER TO reported by Rolf.

  * src/rtl/hbgtcore.c
    ! added missing break after HB_GTI_VERSION
2014-03-04 00:08:07 +01:00
Przemysław Czerpak
0e1377fd01 2014-02-26 23:56 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/filebuf.c
    ! use hb_fsReadLarge()/hb_fsWriteLarge() instead of
      hb_fsRead()/hb_fsWrite() for hb_fileRead()/hb_fileWrite()
2014-02-26 23:56:05 +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
Przemysław Czerpak
5242917e63 2014-02-07 20:23 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/vm/dynsym.c
  * src/rtl/saverest.c
    ! casting
2014-02-07 20:23:24 +01:00
Przemysław Czerpak
db1b307c59 2014-02-06 23:32 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/saverest.c
    ! fixed missing casting in last commit
2014-02-06 23:32:39 +01:00
Przemysław Czerpak
981d96b712 2014-02-06 15:57 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/saverest.c
    ! added protection against passing to small screen
      buffer to RestScreen() function (issue #43)

  * src/rtl/xsavescr.c
    ! save and reuse original screen size in
      __XSaveScreen()/__XRestScreen() functions
2014-02-06 15:57:42 +01:00
Przemysław Czerpak
7c5a4b18a3 2014-02-06 15:33 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/hsx/hsx.c
    ! fixed hs_Version() - it wrongly used hb_xstrcat() instead of
      hb_xstrcpy() and last NULL parameter was missed.

  * src/rdd/usrrdd/usrrdd.c
    ! fixed GPF when wrong parameters are passed to UR_SUPER_*()
      functions (issue #44)
2014-02-06 15:33:40 +01:00
Przemysław Czerpak
b8f523350f 2014-02-05 19:39 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbct/ctwin.c
    ! added protection against wrong parameters passed to hb_gtAllert()
      It fixes #41 issue.
2014-02-05 19:39:07 +01:00
Przemysław Czerpak
56eab3d2ab 2014-02-03 23:06 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbmzip/3rd/minizip/*
    * updated MINIZIP library 1.2.7 -> 1.2.8
      (synced with Viktor's branch)
2014-02-03 23:06:37 +01:00
Przemysław Czerpak
4c71e3d819 2014-02-03 22:26 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/compiler/complex.c
    + added support for AS HASH, POINTER, SYMBOL, TIMESTAMP
    + added support for AS BLOCK as synonym of AS CODEBLOCK
    + added support for AS DATETIME  as synonym of AS TIMESTAMP

  * src/vm/classes.c
    + added support for "DATETIME" type uses as synonym of "TIMESTAMP"
2014-02-03 22:26:32 +01:00
Przemysław Czerpak
a520ee91ca 2014-02-03 18:11 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbct/dattime2.c
    ! fixed potential GPF trap due to wrong protection condition
      and change internal variable name (synced with Viktor's branch)

  * src/vm/classes.c
    ! fixed typo in alternative code - thanks to Lorenzo for the info

  * contrib/hbhpdf/3rd/libhpdf/*
    * updated HARUPDF library 2.3.0RC2 -> 2.3.0RC3
      (the same version is used in Viktor's branch)
2014-02-03 18:11:47 +01:00
Przemysław Czerpak
2075a50872 2014-02-03 09:59 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* ChangeLog.txt
    * updated previous ChangeLog entry to mark group of files.
2014-02-03 09:59:26 +01:00
Przemysław Czerpak
70e0c3c9e5 2014-02-03 09:45 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/3rd/jpeg/Makefile
    * updated JPEG library 9 -> 9a

  * contrib/hbmxml/3rd/minixml/config.h
    * updated MINIXML library 2.7 -> 2.8
2014-02-03 09:45:06 +01:00
Przemysław Czerpak
65973e04e2 2014-02-03 09:09 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/3rd/pcre/*
    * updated PCRE 8.31 -> 8.34
2014-02-03 09:09:07 +01:00
Przemysław Czerpak
dfcdf0f843 2014-02-02 19:22 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/3rd/sqlite3/*
    * sqlite3 update 3.7.16.2. -> 3.8.2
  * contrib/3rd/sqlite3/sqlite3.hbp
    + enabled FTS3/FTS4 (full text search) in SQLite

  * contrib/hbtinymt/3rd/tinymt/*
    * updated tinymt to 1.0.3
2014-02-02 19:22:58 +01:00
Przemysław Czerpak
5b5183359f 2014-02-01 11:00 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbwince.h
    * added WINBASEAPI in declaration of redefined functions
    ; NOTE: if recent MSVC releases support above functions then they
            should be covered by some macros

  * src/rdd/dbfcdx/dbfcdx1.c
    * minor cleanup: EDBF_CREATE -> EDBF_CREATE_INDEX
2014-02-01 11:00:22 +01:00
Przemysław Czerpak
43a0697b3d 2014-02-01 09:11 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbwince.h
    - removed GetProcAddress() redefinition which forced ANSI
      version not supported in recent Windows Mobile MSVC libraries

  * include/hbwinuni.h
    + added new macros which hide differences between Windows systems
      in GetProcAddress() usage: HB_WINAPI_GETPROCADDRESS() and
      HB_WINAPI_GETPROCADDRESST()
      The second one adds "W" or "A" suffix to function names.
    - removed not longer used HB_WINAPI_FUNCTION_NAME() macro

  * src/vm/dynlibhb.c
    * updated hb_libSymAddr() to work with Unicode version of
      GetProcAddress() in WinCE builds

  * src/vm/maindllp/dllpcode.c
    * updated hb_dllGetProcAddress() to work with Unicode version of
      GetProcAddress() in WinCE builds

  * contrib/hbwin/wapi_winbase.c
    * updated WAPI_GetProcAddress() to work with Unicode version of
      GetProcAddress() in WinCE builds

  * src/common/hbdate.c
  * src/common/hbver.c
  * src/rtl/diskspac.c
  * src/rtl/disksphb.c
  * src/rtl/fslink.c
  * src/rtl/gtwin/gtwin.c
  * src/rtl/gtwvt/gtwvt.c
  * src/vm/extrap.c
  * contrib/gtwvg/gtwvgd.c
  * contrib/gtwvg/wvgwin.c
  * contrib/hbwin/axcore.c
  * contrib/hbwin/mapi.c
  * contrib/hbwin/wapi_shellapi.c
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/wapi_wingdi_font.c
  * contrib/hbwin/win_prn2.c
  * contrib/hbwin/win_prn3.c
  * contrib/hbwin/win_rpc.c
  * extras/gtwvw/gtwvwd.c
    * use HB_WINAPI_GETPROCADDRESS*()
2014-02-01 09:11:23 +01:00
druzus
e82806cc1b Merge pull request #37 from raphaelgz/pr/improve_rpm_package_name
Improve RPM package name
2014-01-30 23:13:08 -08:00
Raphael Gozzo
b1357de429 2014-01-30 16:28 UTC-0200 Raphael Gozzo (raphaelgz users.noreply.github.com)
* package/harbour.spec
    + Added detection of CentOS
    * The package name was changed to follow these guidelines:
      https://fedoraproject.org/wiki/Packaging:NamingGuidelines?rd=PackageNamingGuidelines#Non-Numeric_Version_in_Release
2014-01-30 16:38:20 -02:00
Przemysław Czerpak
d0b300467d 2014-01-30 11:53 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/3rd/zlib/zutil.h
    ! removed not longer necessary hack for missing fdopen() function in
      WinCE builds. It's dummy code for older versions and current ZLIB
      does not use fdopen() function.

  * src/3rd/zlib/zlib.dif
    * rediffed
2014-01-30 11:53:03 +01:00
Przemysław Czerpak
ca49407a60 2014-01-30 10:34 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbtip/utils.c
  * src/rtl/gtwvt/gtwvt.c
    * casting to pacify some warnings

  * src/compiler/harbour.y
  * src/compiler/harbour.yyc
  * src/compiler/harbour.yyh
    * changed type of valChar.length from int to HB_SIZE

  * include/hbpp.h
  * src/pp/ppcore.c
    * changed type of last hb_pp_tokenBlockString() parameter
      from int * to HB_SIZE *

  * src/compiler/complex.c
    * removed unnecessary casting
2014-01-30 10:34:22 +01:00
Przemysław Czerpak
c5d3403da5 2014-01-29 09:38 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/harbour.hbx
  * src/vm/dynsym.c
    + added PRG function which verifies internal global symbol table
      structure:
         __dynsVerify() -> <nError> (0 => no errors detected)

  * include/harbour.hbx
  * src/vm/hvm.c
    + added PRG function which verifies internal module symbol tables:
         __vmModulesVerify() -> <acBrokenSymbols>

  * include/harbour.hbx
  * src/vm/classes.c
    + added PRG function which verifies given class internal structure:
         __clsVerify( <nClassH> ) -> <acBrokenMessages> | NIL
2014-01-29 09:38:38 +01:00
Przemysław Czerpak
a193cca9ad 2014-01-27 15:04 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/3rd/zlib/zutil.c
    ! do not define dummy errno variable in WinCE builds - it's probably
      some dummy old code not necessary in current ZLIB versions

  * src/3rd/zlib/zlib.dif
    * rediffed
2014-01-27 15:04:36 +01:00
Przemysław Czerpak
053ea387d3 2014-01-25 00:33 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbct/charlist.c
    ! fixed possible heap memory buffer overflow in
      CharSList() and CharNoList()
    % optimized
2014-01-25 00:33:35 +01:00
Przemysław Czerpak
f25aaf2935 2014-01-24 23:25 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/3rd/zlib/Makefile
  * src/3rd/zlib/zlib.dif
  * src/3rd/zlib/*
    * updated ZLIB 1.2.7 -> 1.2.8
2014-01-24 23:25:34 +01:00
Przemysław Czerpak
9b3f803db7 2014-01-24 12:35 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/3rd/png/*
  * src/3rd/png/Makefile
  * src/3rd/png/pnglconf.h
  * src/3rd/png/png.dif
    * updated libpng 1.6.1 -> 1.6.8
    ; modifications below taken from Viktor branch
         Warning: some of them may cause problems with 3-rd party
                  code which needs fully functional libpng.
    * disabled PNG_CONSOLE_IO_SUPPORTED build option.
      (MSVS 2013 doesn't support 'stderr' constant)
    * disabled STDIO dependent parts for all platforms
    * disabled PNG_CONVERT_tIME_SUPPORTED to avoid using
      unsafe RTL calls (as shown by msvc)
2014-01-24 12:35:07 +01:00
Przemysław Czerpak
2c87206db0 2014-01-24 00:12 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
    + enable virtual keyboard in Android and WinCE builds on focusOn and
      mouseLeftButton events - just for tests so users can compile and
      try code like tests/gtkeys.prg
    ; Warning in Android builds Fn keys, INS, HOME, END, PgUP and letters
      without modifiers do not work with virtual keyboards. Any solutions
      are greatly welcome. Setting Qt::ImhNoPredictiveText in console widget
      is not sufficient workaround for letters.
      BTW in Android I suggest to install Hacker's Keyboard by Klaus Weidner.
      It supports all PC keys and they works in terminal mode with ATE
      (Android Terminal Emulator) and Harbour GTTRM raw binary applications.
2014-01-24 00:12:35 +01:00
Przemysław Czerpak
f4717c6741 2014-01-22 04:17 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.hbp
    ! fixed build condition (condition in {} can be used only once per line)
2014-01-22 04:17:53 +01:00
Przemysław Czerpak
70358ad4b2 2014-01-22 03:30 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/hbproces.c
    ! do not use SetHandleInformation() in WinCE builds

  * config/wce/global.mk
  * utils/hbmk2/hbmk2.prg
    ! added iphlpapi to WinCE builds
2014-01-22 03:30:28 +01:00
Przemysław Czerpak
5ff00afb8c 2014-01-22 02:57 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
    ! do not set Qt::WA_KeyCompression attribute - farther tests shows
      that on some platforms QT eats characters which incomes from device
      (i.e. from barcode readers) very fast
2014-01-22 02:57:18 +01:00
Przemysław Czerpak
6a0dea1cac 2014-01-22 02:44 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
; modifications taken from Viktor's branch.

  * include/hb.ch
    + added hbserial.ch

  * src/rtl/base64c.c
    + HB_BASE64ENCODE(): added second parameter to request
      specific line length for the output. Line length
      should be specified in visible characters (w/o the
      2 EOL bytes). EOL is fixed to CRLF.
         https://en.wikipedia.org/wiki/Base64
    ; probably there exist more optimal implementations
    ; (code slightly modified)
2014-01-22 02:44:56 +01:00
Przemysław Czerpak
96ca3fe470 2014-01-21 20:41 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* Makefile
  * config/*
  * contrib/*
  * doc/*
  * extras/*
  * include/*
  * lib/*
  * package/*
  * src/*
  * tests/*
  * utils/*
    * removed empty lines left after removed '$' + 'Id' + '$' identifiers
2014-01-21 20:41:05 +01:00
Przemysław Czerpak
a767a89aa0 2014-01-21 20:35 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbct/ctnet.c
    ! fixed copy and past typo in previous commit

  * src/rdd/hbsix/sxcompat.prg
    ! fixed sx_Compress() and sx_Decompress() used with arrays

  ; modifications below comes from Viktor fork:

  * include/dbinfo.ch
  * src/rdd/workarea.c
    + added support for new dbInfo() action: DBI_CODEPAGE
      It returns Harbour CP used by current work area.

  * src/common/expropt2.c
    * change instruction order to protect against NULL references
      if we ever add support for dummy lists

  * src/common/hbver.c
    ! CLANG detection

  * src/lang/l_fr.c
  * src/lang/l_hu.c
    * updated translations

  * src/rtl/cdpapihb.c
  * include/harbour.hbx
    + added function hb_cdpExists( <cCDP> ) -> <lExists>
      it returns .T. if the passed codepage is supported
      and linked, .F. otherwise

  * src/rtl/hbrand.c
  * include/harbour.hbx
    + added hb_randStr( <nLen> ) -> <cBytes> which returns a strong
      random stream of bytes of requested length

  * src/vm/hashfunc.c
  * include/harbour.hbx
    + New hash function to easily check for the existence
      of a key and at the same time retrieving its corresponding
      value:
         hb_HGetRef( <hHash>, <xKey>[, <@xValue> ] ) -> <lFound>
      If the key is not found, <xValue> is also reset to NIL.
      Useful to replace hb_HPos()/hb_HValueAt() call pairs and
      associated temp variable, or to avoid multiple hash lookups
      for the cost of one temp variable.

  * src/rtl/copyfile.c
    % use 64KB buffer

  * src/rtl/tget.prg
    ! Get():Insert()/Get():OverStrike() GET freeze fix reworked
      using better solution by Heinz.

  * src/rtl/tgetlist.prg
  * src/rtl/tmenuitm.prg
  * src/rtl/tmenusys.prg
  * src/rtl/tpopup.prg
    ! fixed to precisely verify against multiple expected class names
      previously a custom class named f.e. 'LIST' was accepted in some
      places for LISTBOX
    ! fixed TOFIX where CP/encoding dependent string was
      used to determine whether a menu item is separator
      throughout the lifetime of the menu.

  * src/common/hbdate.c
  * src/common/hbprintf.c
  * src/common/hbtrace.c
  * src/common/hbver.c
  * src/compiler/compi18n.c
  * src/compiler/genc.c
  * src/compiler/gencc.c
  * src/compiler/hbusage.c
  * src/debug/dbgthsh.prg
  * src/debug/dbgtmenu.prg
  * src/debug/debugger.prg
  * src/debug/tbrwtext.prg
  * src/pp/hbpp.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/dbfuncs.prg
  * src/rdd/dbtotal.prg
  * src/rdd/hbsix/sxcompat.prg
  * src/rdd/hbsix/sxini.prg
  * src/rdd/usrrdd/rdds/arrayrdd.prg
  * src/rdd/usrrdd/rdds/hscdx.prg
  * src/rtl/adir.prg
  * src/rtl/arc4.c
  * src/rtl/cdpdet.prg
  * src/rtl/dbedit.prg
  * src/rtl/dircmd.prg
  * src/rtl/diskspac.c
  * src/rtl/disksphb.c
  * src/rtl/errint.c
  * src/rtl/errintlo.c
  * src/rtl/errsys.prg
  * src/rtl/filesys.c
  * src/rtl/fslink.c
  * src/rtl/gtkbstat.c
  * src/rtl/gtwin/gtwin.c
  * src/rtl/gtwvt/gtwvt.c
  * src/rtl/hbbffnc.c
  * src/rtl/hbi18n1.c
  * src/rtl/hbi18n2.prg
  * src/rtl/hbini.prg
  * src/rtl/hbjson.c
  * src/rtl/listbox.prg
  * src/rtl/menusys.prg
  * src/rtl/mtran.c
  * src/rtl/radiogrp.prg
  * src/rtl/tgetlist.prg
  * src/rtl/tmenusys.prg
  * src/rtl/tobject.prg
  * src/rtl/tpersist.prg
  * src/rtl/tpopup.prg
  * src/rtl/tpopuphb.prg
  * src/rtl/treport.prg
  * src/rtl/tscalar.prg
  * src/rtl/ttopbar.prg
  * src/rtl/tget.prg
  * src/rtl/tlabel.prg
  * src/rtl/tmenuitm.prg
  * src/rtl/valtoexp.prg
  * src/rtl/valtype.c
  * src/vm/dlmalloc.c
  * src/vm/fm.c
    ! check module handle returned by GetModuleHandle() in MS-Windows
      builds
    ! use %u for unsigned printf formatting
    * casting, formatting, casing and some modifications in names
    * use #if 0 / #endif to mark commented blocks
    * updated year to 2014
    % use FOR EACH, SWITCH, DO CASE statements
    % use :__enumFirst() / :__enumLast()
    % eliminated some local variables and redundant declarations
    % use hb_defaultValue()
    % use $ operator instead of At() and hb_HHasKey()
    % use hb_ADel() instead of ADel()+ASize()
    * replace some functions with procedures
    * pacified some MSC warnings
    * use hb_StrFormat() for user messages
    * use :: instead of Self:
    * use ANSI date delimiters
2014-01-21 20:35:51 +01:00
Przemysław Czerpak
48166160de 2014-01-20 17:36 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/hbsocket.c
    * removed not longer valid TODO note

  * contrib/hbmisc/bbabble.c
    ! fixed buffer size calculation (it fixes buffer overflow for small
      strings, i.e. 2 bytes and does not allocate more memory then necessary
      for long ones)

  * contrib/hbct/dattime2.c
    ! fixed CToMonth() and CToDoW() to respect case intensive search for
      strings with national characters
    * variable name synced with Viktor branch

  * contrib/hbct/strswap.c
    ! fixed NULL reference when neither 1-st nor 2-nd parameter is passed
      by reference

  * contrib/hbct/fcopy.prg
    ! fixed source file positioning in case of partial write
    ! use hb_FGetDateTime() / hb_FSetDateTime() instead of
      FileDate()+FileTime() / SetFDaTi()
      It's faster and unlike FileDate() and FileTime() it does
      not leave directory open.
    ! fixed typo (RTE)
    % minor simplification

  * src/rtl/disksphb.c
    ! use dynamic binding for GetDiskFreeSpaceEx() function

  ; modifications below comes from Viktor fork:

  * contrib/hbct/ctwin.c
    % removed unnecessary declaration

  * contrib/hbct/envparam.c
    ! do not call FreeEnvironmentStrings() is it's not necessary

  * contrib/hbodbc/odbc.c
    ! fixed potential buffer overflow in SQLERROR()/SQLGETDIAGREC()

  * contrib/hbnetio/netiosrv.c
    ! fixed possible NULL reference

  * contrib/hbct/ctnet.c
    ! added missing check for result of WinAPI function call

  * contrib/hbct/cttime.prg
    ! SecToTime(): fixed regression from 2007-11-18 13:46 UTC+0100

  * contrib/hbwin/hbolesrv.c
    ! fixed char -> TCHAR after recent unicodification
2014-01-20 17:36:44 +01:00
Przemysław Czerpak
d5899fbc57 2014-01-14 23:36 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* config/win/global.mk
  * utils/hbmk2/hbmk2.prg
  * src/rtl/hbsocket.c
    + added support for returning NIC MAC address by hb_socketGetIFaces()
      in MS-Windows builds.
      To see physical device addresses bound with active IP interfaces use:
         #include "hbsocket.ch"
         PROCEDURE Main()
            LOCAL aIFace
            FOR EACH aIFace IN hb_socketGetIFaces( , .t. )
               ? "IP:", aIFace[ HB_SOCKET_IFINFO_ADDR ], ;
                 "   MAC:", aIFace[ HB_SOCKET_IFINFO_HWADDR ]
            NEXT
            WAIT
         RETURN
2014-01-14 23:36:33 +01:00
Przemysław Czerpak
72d883c13c 2014-01-14 15:21 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/hbjson.c
    ! do not indent null used as cross reference replacement if human
      readable format is disabled
2014-01-14 15:21:58 +01:00
Przemysław Czerpak
48d1ffbca3 2014-01-14 13:13 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/hbjson.c
    ! indent null used as cross reference replacement
    * strip space at the end of line after ":" in human readable output
      of objects with complex values
    * respect _SET_EOL setting in human readable output
    * round decoded number to keep the same final value as compiler

  * src/rtl/hbproces.c
    * minor simplification
2014-01-14 13:13:55 +01:00
Przemysław Czerpak
f790669ed4 2014-01-13 17:00 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/gtxwc/gtxwc.c
    % small improvement in recent modification
2014-01-13 17:00:14 +01:00
Przemysław Czerpak
30ea1b2921 2014-01-13 14:53 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/gtxwc/gtxwc.c
    ! process events disabled unintentionally in recent modification,
      thanks to Rolf for the information about the problem.
2014-01-13 14:53:01 +01:00
Przemysław Czerpak
14c3adaa34 2014-01-13 12:40 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/hbproces.c
    % optimized MS-Windows version of hb_fsProcessRun() when only single
      stream is redirected
2014-01-13 12:40:27 +01:00
Przemysław Czerpak
bbc7e93c7c 2014-01-12 20:28 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/filesys.c
    + added support for setting non blocking mode in MS-Windows builds
      of hb_fsPipeUnblock()

  * src/rtl/hbproces.c
    ! rewritten MS-Windows version of hb_fsProcessRun()
2014-01-12 20:28:53 +01:00
Przemysław Czerpak
f5c19a7872 2014-01-11 14:58 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/hbproces.c
    ! clear inheritance flag for second side of pipes passed to child process
2014-01-11 14:58:15 +01:00
Przemysław Czerpak
9ee34a0cb9 2014-01-10 11:07 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbatomic.h
    * for GCC >= 4.1 (except MinGW) use build-in GCC __sync_*() atomic
      functions instead of our x86 assembler macros. This can be disabled
      by HB_USE_GCCATOMIC_OFF macro. Please make tests on different
      platforms. If you find some platforms on which compile or link
      errors bound with __sync_*() functions are reported then please
      send information about used platform and GCC version. GCC 4.1 or
      higher should support it during compilation but not all runtime
      libraries have implementation for __sync_*() functions. Low level
      implementations were added later for different platforms. In such
      case adding -DHB_USE_GCCATOMIC_OFF to HB_USER_CFLAGS should be
      sufficient workaround but I want to document such cases so please
      send information about it to devel list.
    ; This modification fixes problem with x86_64 CentOS and RH builds
      were default GCC does not respect volatile in our ASM macros and
      "optimize" them breaking our memory barriers.
2014-01-10 11:07:11 +01:00
Przemysław Czerpak
c98c4549e7 2014-01-09 22:51 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/tgetint.prg
    ! force linking HB_PValue
2014-01-09 22:51:12 +01:00
Przemysław Czerpak
9a636d9711 2014-01-09 20:04 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbct/ctcom1.c
    ! fixed typo reported by Rolf

  * src/rtl/hbcom.c
    + added support for 1000000 baudrate setting in *nix builds covered
      by B1000000 macro
2014-01-09 20:04:56 +01:00
Przemysław Czerpak
712b7710bb 2014-01-09 19:15 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/tgetint.prg
    ! allow to accept complex expressions passed as string to __Get()
      function. It fixes the problem I introduced in previous modification.
    ! allow to use __GetA() for hashes

  * src/vm/macro.c
    ! do not ignore additional characters after blank ones looking for
      memvar name. More restrictive behavior is necessary for to fix
      problem with code like: MemVarBlock( "GETLIST [1]" )
2014-01-09 19:15:23 +01:00
Przemysław Czerpak
e842b7f788 2014-01-09 02:01 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/vm/itemapi.c
    ! clear destination item in hb_itemParamStore*() functions if passed
      source item is NULL
2014-01-09 02:01:38 +01:00
Przemysław Czerpak
8c2721100b 2014-01-07 13:15 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbfoxpro/hbfoxpro.hbp
  * contrib/hbfoxpro/misc.prg
  + contrib/hbfoxpro/occurs.prg
    * moved Occurs() function to separate file to avoid link conflict
      with xHarbour function using the same name
2014-01-07 13:15:32 +01:00