Commit Graph

18 Commits

Author SHA1 Message Date
Przemysław Czerpak
5a3e100f11 2014-06-27 12:45 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/common/hbfopen.c
    * use _wfopen() instead of fopen() in MS-Windows UNICODE builds of
      hb_fopen(). It means that now hb_fopen() makes exactly the same file
      name conversions as hb_fs*() Harbour RTL functions, i.e. hb_fsOpen()

  * contrib/hbmxml/core.c
    ! fixed unnecessary conversions to UTF8 used for file names passed
      to hb_fopen()

  * contrib/hbmzip/3rd/minizip/ioapi.c
  * contrib/hbmzip/3rd/minizip/minizip.dif
    ! fixed wrongly used hb_fopen() instead of fopen() what caused double
      file name conversions when 32-bit stdio API was used.
2014-06-27 12:45:47 +02:00
Przemysław Czerpak
786ba57352 2014-05-26 16:15 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/common/hbfsapi.c
  * src/rtl/filesys.c
  * src/rtl/filebuf.c
  * contrib/hbmzip/mzip.c
  * contrib/xhb/filestat.c
    ! if available always use stat64() instead of stat() in *nixes builds.
      On 32-bit platforms stat() fails for larger files (>2GB).
      It should fix problem reported by Lorenzo.
2014-05-26 16:15:46 +02: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
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
4ffd5bb726 2013-12-18 21:05 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/Makefile
  + include/hbzlib.h
  * include/hbzlib.ch
  * src/rtl/Makefile
  * src/rtl/hbzlib.c
    + added new C functions weakly bound with ZLIB library:
         HB_SIZE hb_zlibCompressBound( HB_SIZE nLen );
         HB_SIZE hb_zlibUncompressedSize( const char * pSrc, HB_SIZE nLen,
                                          int * piResult );
         int hb_zlibCompress( char * pDst, HB_SIZE * pnDst,
                              const char * pSrc, HB_SIZE nLen, int iLevel );
         int hb_zlibUncompress( char * pDst, HB_SIZE * pnDst,
                                const char * pSrc, HB_SIZE nLen );
      these functions can be used by any C code without forcing ZLIB liking.
      If user usese in his code HB_ZCOMPRESS() function or has
         REQUEST HB_ZCOMPRESS
      then above funcitons are automatically bound with linked ZLIB library.
      Otherwise they return 0 or HB_ZLIB_RES_UNSUPPORTED error.

  * src/rdd/dbf1.c
    * small code simplification
    ; added note about alternative numeric value rounding when
      pure binary integer fields (without decimal places) are
      assigned.

  * src/common/hbdate.c
    ! added missing header for WinCE builds

  * include/hbexpra.c
    * minor simplification

  * src/vm/macro.c
    + added new implementation for MemVarBlock() function. It's much faster
      and does not force dynamic symbol table scanning on each call

  * src/rtl/Makefile
  - src/rtl/memvarbl.prg
    - removed previous implementation of MemVarBlock()

  * src/rtl/tgetint.prg
    ! fixed __Get() and __GetA() to return NIL when cVarName parameter
      is not string (CA-Cl*pper compatible)
    ! fixed __GetA() to return NIL when given aIndex parameter or value
      returned by variable block is not array (CA-Cl*pper compatible)
    ! fixed __Get() and __GetA() to use FieldWBlock() instead of manually
      created macro block which didn't respect workarea
      (CA-Cl*pper compatible)
    ! fixed __GetA() to create SET/GET block instead of access block
      (CA-Cl*pper compatible)
    ! fixed  __Get() and __GetA() to not create simple SET/GET macro
      blocks but always force memvar usage (CA-Cl*pper compatible).
      Please remember that
         &( "DATA" )
      gives code which tries to access field then memvar but
         &( "DATA := .T." )
      gives code which always tries to assign memvar and does not even
      check if "DATA" field exists in current WA. It means that macro
      compiled code like:
         &( "{|_1| iif( _1 == NIL, DATA, DATA := _1 ) }" )
      should not be used because gives higher priority for fields in
      access operation and always assigns memvars, if necessary creating
      them.
    ! allow to dynamically create memvars for get objects in error handler
      (CA-Cl*pper compatible)
    % use much faster MemVarBlock() instead of manually created codeblock
      which activates dynamic symbol table scanning on each call
2013-12-18 21:05:06 +01:00
Przemysław Czerpak
b33cdd455e 2013-11-25 23:23 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/common/strwild.c
    ! fixed hb_strMatchFile() (C) and hb_fileMatch() (PRG) to respect
      . and .* used at the end of pattern just like system does
      (or at least should, tests with more complicated wildcard expressions
      in my Windows7 exploit bugs in system wildcards interpretation)
2013-11-25 23:23:18 +01:00
Przemysław Czerpak
7b6fdc2b6f 2013-11-21 13:16 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/common/expropt2.c
    ! fixed setting number of decimal places in optimized multiple
      expressions with default number of decimal places, i.e.:
         ? ( 1 / 2 ) * ( 1 / 2 )
2013-11-21 13:16:11 +01:00
Przemysław Czerpak
119dad6cfc 2013-11-06 15:26 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/common/hbdate.c
    + added support for decooding timestamp values with semicolon ";" used
      as date and time part delimiters, i.e.:
         tValue := t"2013-11-06;15:14:45"
2013-11-06 15:26:49 +01:00
Viktor Szakáts
6752936b57 use web url instead of obfuscated email 2013-10-09 20:08:24 +02:00
Przemysław Czerpak
46d64612b5 2013-08-22 19:06 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbct/getsecrt.prg
    ! applied Clipper compatibility fix to GetSecret() by Pavel Tsarenko

  * src/common/hbdate.c
    * removed explicit _BSD_SOURCE definition - it was confusing our
      code used to detect localtime_r() support and is not necessary
      if we do not use extended fields of tm structure

  * src/rtl/mtran.c
    * updated to show strict Clipper compatible behavior - Clipper
      ignores 3-rd cSoftCR parameter if 2-nd one cHardCR is not given
      (strict compatibility is covered by HB_CLP_STRICT macro and
      disabled by default - undocumented feature which may confuse
      users)
    % minor optimization
2013-08-22 19:06:06 +02:00
Przemysław Czerpak
e8c7f2067d 2013-07-18 02:24 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbdate.h
  * src/common/hbdate.c
    + added new C functions:
         double hb_timeLocalToUTC( double dTimeStamp );
         long hb_timeStampUTCOffset( int iYear, int iMonth, int iDay,
                                     int iHour, int iMinutes, int iSeconds );
    ; warning: some C RTLs may not correctly detect Summer time for all past
               dates in few countries.

  * include/harbour.hbx
  * src/rtl/dateshb.c
    + added new PRG function:
         hb_TSToUTC( <tsLocal> ) -> <tsUTC>
    + added support for optional timestamp parameter in hb_UTCOffset()
      function, current syntax is:
         hb_UTCOffset( [ <tsLocal> ] ) -> <nSeconds>

  * contrib/hbtip/hbtip.hbx
  * contrib/hbtip/utils.c
    + added new PRG function:
         tip_FileNameMimeType( <cFileName> ) -> <cMimeType>
      It's a wrapper to old C function s_findFileMimeType()
      TODO: replace few independent mimetype functions by single one.
    ! fixed tip_FileMimeType() to not call hb_fsClose() or any other FS
      function with wrong handler.
    ! fixed tip_TimeStamp() using hb_timeStampUTCOffset() instead of
      hb_timeUTCOffset() to correctly calculate UTC offset for dates
      different then current one.
    ! decode time passed as numeric second() value in 2-nd parameter of
      tip_TimeStamp() only when the 1-st one contains pure date value.
2013-07-18 02:24:58 +02:00
Viktor Szakats
9d173b0a7b minor cleanups in comments 2013-04-05 16:35:37 +02:00
Viktor Szakats
b414d00664 2013-04-05 16:24 UTC+0200 Viktor Szakats (harbour syenar.net)
* bin/check.hb
  * tests/fixcase.hb
    + some exceptions for casing
    * deleted one file exception (a readme)

  * contrib/gtwvg/gtwvgd.c
  * contrib/gtwvg/wvgcore.c
  * contrib/gtwvg/wvgcuig.c
  * contrib/gtwvg/wvgwin.c
  * contrib/gtwvg/wvgwing.c
  * contrib/hbamf/amfenc.c
  * contrib/hbbz2/core.c
  * contrib/hbct/ctcom1.c
  * contrib/hbct/ctcom2.c
  * contrib/hbct/ctnet.c
  * contrib/hbct/ctstr.c
  * contrib/hbct/ctwfunc.c
  * contrib/hbct/ctwin.c
  * contrib/hbct/disk.c
  * contrib/hbct/finan.c
  * contrib/hbct/screen2.c
  * contrib/hbct/token1.c
  * contrib/hbct/token2.c
  * contrib/hbct/trig.c
  * contrib/hbgd/gdwrp.c
  * contrib/hbhpdf/image.c
  * contrib/hbmisc/irm.c
  * contrib/hbnetio/netiocli.c
  * contrib/hbnetio/netiosrv.c
  * contrib/hbnetio/readme.txt
  * contrib/hbnf/dispc.c
  * contrib/hbnf/ftattr.c
  * contrib/hbnf/origin.c
  * contrib/hbssl/ssl.c
  * contrib/hbwin/wapi_commctrl.c
  * contrib/hbwin/wapi_winuser.c
  * contrib/hbwin/win_dlg.c
  * contrib/hbwin/win_prn2.c
  * contrib/hbwin/win_shell.c
  * contrib/rddads/ads1.c
  * contrib/rddads/adsfunc.c
  * contrib/xhb/fparse.c
  * contrib/xhb/hbcrypt.c
  * contrib/xhb/hbserv.c
  * contrib/xhb/hbxml.c
  * contrib/xhb/txtline.c
  * contrib/xhb/xhbarr.c
  * contrib/xhb/xhbarrex.c
  * extras/gfspell/spellc.c
  * extras/gtwvw/gtwvwd.c
  * extras/gtwvw/hbgtwvw.h
  * extras/gtwvw/wvwcheck.c
  * extras/gtwvw/wvwdraw.c
  * extras/gtwvw/wvwedit.c
  * extras/gtwvw/wvwfuncs.c
  * extras/gtwvw/wvwmenu.c
  * extras/gtwvw/wvwpush.c
  * extras/gtwvw/wvwstbar.c
  * extras/gtwvw/wvwtbar.c
  * include/hbapi.h
  * include/hbapirdd.h
  * include/hbdefs.h
  * include/hbexpra.c
  * include/hbexprb.c
  * include/hbpcode.h
  * include/hbpp.h
  * include/hbrddcdx.h
  * include/hbrddnsx.h
  * src/codepage/cp_utf8.c
  * src/common/expropt1.c
  * src/common/expropt2.c
  * src/compiler/cmdcheck.c
  * src/compiler/genc.c
  * src/compiler/gencc.c
  * src/compiler/hbfunchk.c
  * src/compiler/hbopt.c
  * src/pp/pplib.c
  * src/rdd/dbcmd.c
  * src/rdd/dbf1.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/hbsix/sxcompr.c
  * src/rdd/hbsix/sxord.c
  * src/rdd/hsx/hsx.c
  * src/rtl/chruni.c
  * src/rtl/cputime.c
  * src/rtl/dateshb.c
  * src/rtl/filehb.c
  * src/rtl/filesys.c
  * src/rtl/gtsln/gtsln.c
  * src/rtl/gtwvt/gtwvt.c
  * src/rtl/gtxwc/gtxwc.c
  * src/rtl/hbgtcore.c
  * src/rtl/hbinet.c
  * src/rtl/hblpphb.c
  * src/rtl/hbmd5.c
  * src/rtl/hbproces.c
  * src/rtl/hbsocket.c
  * src/rtl/hbsockhb.c
  * src/rtl/hbtoken.c
  * src/rtl/hbzlib.c
  * src/rtl/hbzlibgz.c
  * src/rtl/langapi.c
  * src/rtl/mlcfunc.c
  * src/rtl/philes.c
  * src/rtl/soundex.c
  * src/rtl/strzero.c
  * src/rtl/transfrm.c
  * src/vm/arrayshb.c
  * src/vm/classes.c
  * src/vm/dynsym.c
  * src/vm/eval.c
  * src/vm/garbage.c
  * src/vm/hvm.c
  * src/vm/macro.c
  * src/vm/memvars.c
  * src/vm/runner.c
  * src/vm/set.c
  * src/vm/thread.c
    * run tests/fixcase.hb now that it's able to fixup casing
      inside all comments
2013-04-05 16:27:40 +02:00
Viktor Szakats
7ad75f9543 2013-03-27 16:29 UTC+0100 Viktor Szakats (harbour syenar.net)
* utils/hbmk2/hbmk2.prg
    ! fixed to suppress remaining remaining double outputs at
      startup in hbrun mode, when processing .hbc files

  * contrib/hbexpat/hbexpat.hbc
    ! added usage time detection of locally hosted 3rd party
      dependency to avoid warnings when the locally hosted
      dependency is not present (f.e. because the system
      hosted copy was used at build/install time)
      Experimental. If it works fine, should be applied to
      other similar contribs:
         hbbz2, hbhpdf, hblzf, hbmlzo, hbmxml, hbmzip, hbsqlit3, hbtinymt, hbxdiff, sddsqlt3

  * README.md
    * typographic and misc improvements

  * config/global.mk
    + detect qnx cross-compile tool (via Francesco Perillo)

  * include/hbsetup.h
  * src/common/hbtrace.c
    + added macro HB_OS_QNX_BB10 for BlackBerry 10 subplatform
    + guard some stuff that's not present in BB10 (via Francesco Perillo)

  * contrib/hbtinymt/3rd/tinymt/tinymt.hbc
    ! deleted $Id$
2013-03-27 16:31:11 +01:00
vszakats
f1640dac57 2013-03-16 16:12 UTC+0100 Viktor Szakats (harbour syenar.net)
* bin/3rdpatch.hb
    * COPYING -> COPYING.txt

  * src/common/hbver.c
    * 'Rev.' -> 'r' in VERSION() string. This affects
      all utility banners

  * utils/hbi18n/hbi18n.prg
    * assemble version display instead of assumptions
      about VERSION() content

  * utils/hbmk2/hbmk2.*.po
  * utils/hbmk2/hbmk2.prg
    * cleanups

  * tests/cblock.prg -> tests/codebl2.prg
    * rename
2013-03-16 16:33:50 +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