Commit Graph

43 Commits

Author SHA1 Message Date
Viktor Szakats
1b4008723b 2012-01-06 16:13 UTC+0100 Viktor Szakats (harbour syenar.net)
* ChangeLog
  * (whole tree)
    * changed e-mail address
2012-01-06 15:28:23 +00:00
Viktor Szakats
7ad3481808 2011-12-24 03:32 UTC+0100 Viktor Szakats (harbour syenar.hu)
* ChangeLog
  * (whole tree)
    * removed obsolete antispam measure from my e-mail address
2011-12-24 02:47:24 +00:00
Przemyslaw Czerpak
4ba52ddb70 2011-11-17 09:46 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbwin/hbwapi.h
  * harbour/contrib/hbwin/wapi_winbase.c
  * harbour/contrib/hbwin/hbwin.hbx
    + added to new WIN API wrappers:
         WAPI_QueryPerformanceCounter( @nCounter ) -> <lSuccess>
         WAPI_QueryPerformanceFrequency( @nFrequency ) -> <lSuccess>
      Warning: read in MSDN about above functions and possible
               interactions with multi CPU machines.

  * harbour/contrib/hbwin/win_misc.c
  * harbour/contrib/hbwin/hbwin.hbx
    + added new function which converts QueryPerformance counters
      to seconds:
         WIN_QPCOUNTER2SEC( nCounter ) -> <nSeconds>
      I suggest to use it to convert difference between two calls
      to WAPI_QueryPerformanceCounter(), i.e.:
         WAPI_QueryPerformanceCounter( @nCounterStart )
         [...]
         WAPI_QueryPerformanceCounter( @nCounterEnd )
         ? "total time:", ;
           WIN_QPCOUNTER2SEC( nCounterEnd - nCounterStart ), "sec."
2011-11-17 08:47:11 +00:00
Przemyslaw Czerpak
2cf025fa75 2010-10-06 20:56 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtwvt/gtwvt.c
    ! fixed possible double font freeing in non UNICODE builds

  * harbour/contrib/hbwin/win_misc.c
    + added prg function WIN_UNICODE() which returns logical value
      indicating if UNICODE macro was used or not
2010-10-06 18:57:05 +00:00
Viktor Szakats
81c9b0506c 2010-06-04 15:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/*
    * Deleted 'www.' from harbour-project.org website name.
      (www.harbour-project.org -> harbour-project.org)
2010-06-04 13:32:23 +00:00
Viktor Szakats
83bbb7b34d 2010-02-17 03:06 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/fstemp.c
    ! Using hb_fsTempDir() in HB_FTEMPCREATEEX() instead of
      old solution. This should fix it for some non-*nix
      platforms where *nix specific TEMPDIR envvar was used
      to determine temp directory.

  * contrib/hbwin/Makefile
  * include/Makefile
  * src/rtl/Makefile
  - contrib/hbwin/hbdyn.ch
  + include/hbdyn.ch
  - contrib/hbwin/hbdyn.c
  + src/rtl/hbdyn.c
  - contrib/hbwin/win_dllc.c
  + src/rtl/hbdynhb.c
  - contrib/hbwin/tests/testdll.c
  + tests/testdyn.c
  - contrib/hbwin/tests/testdll.prg
  + tests/testdyn.prg
  - contrib/hbwin/tests/testdll1.prg
  + tests/testdyn1.prg
  - contrib/hbwin/hbdyn.h
  * include/hbapi.h
    * Moved dynamic library call related functions to
      core (RTL).
    * Windows specific test code (currently all) guarded
      for platform.
    * Changed default calling convention to cdecl.
      Tests adaptd accordingly.
    * Terminology change: 'dll' -> 'dynamic library'
    ; HB_DYNCALL() is now part of core Harbour, and it's 
      platform independent. It's platform (ABI) dependent though,
      and currently x64 and x86/stdcall/syscall/cdecl 
      is supported and these were tested (except OS/2 syscall).

  * contrib/hbwin/hbwin.h
  * contrib/hbwin/win_misc.c
  * contrib/hbwin/legacycd.c
    * Low level hbwin_getprocaddress() function moved
      to legacy file and made static.

  * contrib/xpp/Makefile
  * contrib/xpp/dllx.c
  * contrib/xpp/xpp.hbc
    + Enabled DLL*() functions for all platforms.
    - Deleted dependence on hbwin library.

  * contrib/xpp/tests/testdll.prg
    * Windows specific parts (currently the whole test) guarded
      for platform.

  * contrib/hbct/Makefile
  - contrib/hbct/diskhb.prg
  * contrib/hbct/disk.c
  * contrib/xhb/Makefile
  + contrib/xhb/diskhb.prg
    * GETVOLINFO() moved from hbct to xhb.

  * ChangeLog
    * Marked some TODO/TOFIX items as DONE.
2010-02-17 02:09:17 +00:00
Viktor Szakats
d7de2e2942 2010-02-13 20:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/Makefile
  + contrib/hbwin/hbdyn.h
  + contrib/hbwin/hbdyn.ch
  + contrib/hbwin/hbdyn.c
  * contrib/hbwin/hbwin.h
  * contrib/hbwin/hbwin.ch
  * contrib/hbwin/win_misc.c
  * contrib/hbwin/win_dll.c
  * contrib/hbwin/win_dllx.c
  * contrib/hbwin/legacycd.c
  * contrib/hbwin/tests/testdll.prg
    + Separated OS-independendent dynamic call support from Windows-specific parts.
    * Changed names to reflect that.
2010-02-13 19:51:13 +00:00
Viktor Szakats
5cfcb4f323 2010-02-09 03:55 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/common/Makefile
  * src/common/hbwince.c
  + src/common/hbwin.c
    ! Moved Windows UNICODE helper function into new source,
      leaving WinCE API local emulation into separate source file.

  * include/hbwince.h
    + Now automatically includes windows.h. (since it depends on it)

  * include/hbdefs.h
    - Deleted HB_OS_WIN_USED autodetection. Not needed anymore.
    ! Fixed to not include hbwince.h anymore. It should be included
      directly from source files, where needed.

  * include/hbdefs.h
  * contrib/hbodbc/odbc.c
  * contrib/rddsql/sddodbc/odbcdd.c
    + Always defining HB_TCHAR_*() macros. They will be dummies
      in non-Windows or non-UNICODE builds.

  * include/clipdefs.h
    ! Legacy Clipper types moved to the bottom, because it's
      no longer true that hbapi.h defines their dependent types
      (our legacy ones).

  * contrib/hbwin/win_bmpd.c
  * contrib/hbwin/wapi_wingdi.c
  * contrib/hbwin/win_misc.c
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/wapi_alloc.c
  * contrib/hbwin/wapi_winuser.c
  * contrib/hbwin/hbwin.h
  * contrib/hbwin/hbwinole.h
  * contrib/hbwin/mapi.c
  * contrib/hbwin/wapi_wingdi_font.c
  * contrib/hbwin/olecore.c
  * contrib/hbwin/wce_simc.c
  * contrib/hbwin/wapi_winnls.c
  * contrib/hbwin/win_bmp.c
  * contrib/hbwin/win_com.c
  * contrib/hbwin/Makefile
  * contrib/hbwin/win_regc.c
  * contrib/hbwin/win_prn1.c
  * contrib/hbwin/win_prn2.c
  * contrib/hbwin/win_prn3.c
  * contrib/hbwin/wapi_commctrl.c
  * contrib/hbwin/win_osc.c
  * contrib/hbwin/wce_smsc.c
  * contrib/hbwin/wapi_err.c
  * contrib/hbwin/legacycd.c
  * contrib/hbwin/hbwapi.h
  * contrib/hbwin/wapi_shellapi.c
  * contrib/hbwin/win_dlg.c
  * contrib/hbwin/legacyco.c
  * contrib/hbwin/win_dll.c
  * contrib/hbwin/wapi_winbase_mutex.c
    + Reworked the way windows.h is included and headers
      are organized. New types allow complete control and
      flexibility. Finally.

  * src/vm/mainwin.c
  * src/vm/maindll.c
  * src/vm/maindllh.c
  * src/vm/cmdarg.c
  * src/vm/maindllp.c
  * src/vm/task.c
  * src/vm/fm.c
  * src/vm/extrap.c
  * src/vm/thread.c
  * src/vm/hvmall.c
  * src/vm/dynlibhb.c
  * src/common/hbgete.c
  * src/common/hbffind.c
  * src/common/hbver.c
  * src/common/hbtrace.c
  * src/common/hbfsapi.c
  * src/common/hbdate.c
  * src/rtl/gtwin/gtwin.c
  * src/rtl/fstemp.c
  * src/rtl/gttone.c
  * src/rtl/fserr.c
  * src/rtl/filesys.c
  * src/rtl/lang.c
  * src/rtl/diskspac.c
  * src/rtl/console.c
  * src/rtl/cputime.c
  * src/rtl/gtclip.c
  * src/rtl/oemansi.c
  * src/rtl/disksphb.c
  * src/rtl/net.c
  * src/rtl/gtgui/gtgui.c
  * src/rtl/hbproces.c
  * src/rtl/gtwvt/gtwvt.h
  * src/rtl/gtwvt/gtwvt.c
  * src/rtl/gtkbstat.c
  * contrib/hbct/ctnet.c
  * contrib/hbct/dattime3.c
  * contrib/hbct/disk.c
  * contrib/hbodbc/odbc.c
  * contrib/xhb/hboutdbg.c
  * contrib/xhb/xhberrc.c
  * contrib/xhb/filestat.c
  * contrib/xhb/hbserv.c
  * contrib/hbtpathy/tpwin.c
  * contrib/hbmzip/hbmzip.c
  * contrib/hbqt/hbqt_base.cpp
  * contrib/hbnf/getenvrn.c
  * contrib/rddsql/sddodbc/odbcdd.c
  * contrib/rddads/adsx.c
  * contrib/rddads/adsfunc.c
  * contrib/rddads/rddads.h
  * contrib/rddads/ads1.c
  * contrib/rddads/adsmgmnt.c
  * examples/hbapollo/apollo.c
    + HB_OS_WIN_USED trick replaced with direct windows.h
      inclusion, just like we do for all other OSes.
    + Also inclded hbwince.h in source files which required
      it. Please test it.

  * contrib/hbqt/gtqtc/gtqtc.cpp
    - Deleted commented code to not create false grep hits
      all the time.
2010-02-09 02:58:53 +00:00
Przemyslaw Czerpak
d907621bea 2010-01-25 12:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbwin/win_misc.c
    ! fixed buffer overflow in WIN_WIDETOANSI() caused by wrongly calculated
      buffer size

  * harbour/utils/hbmk2/hbmk2.prg
    * updated names of xHarbour libraries - now it works in static mode
      TOFIX: -xhb shared mode uses 'harbour' instead of 'xharbour' library
              and 'hbmainstd' instead of 'mainstd'
      TOFIX2: -gui switch in -xhb mode cause compile time error:
                  /tmp/hbmk_auhl2d.c:8: error: syntax error before "void"
2010-01-25 11:35:47 +00:00
Viktor Szakats
e4ec7db7e2 2009-12-14 13:45 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/win_prn2.c
    + Eliminated rest of HB_TCHAR*() calls.
      Please review, and test for memory leaks.
    ; No more HB_TCHAR*() macros in hbwin code.

  * contrib/hbwin/win_misc.c
    + Added cast.

  * contrib/hbqt/hbqt_base.cpp
    * Minor formatting.
2009-12-14 12:47:32 +00:00
Viktor Szakats
507e9d6ca9 2009-12-14 00:04 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/win_misc.c
    ! Fixed WIN_ANSITOWIDE() and WIN_WIDETOANSI() to return string with
      proper length in all cases.
      Peer-review me pls.
2009-12-13 23:07:28 +00:00
Viktor Szakats
f3be4e51c5 2009-12-13 17:29 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/mapi.c
    ! Added back zeroing rcp/file structure list.

  * INSTALL
    * Minor.

  * contrib/gtwvg/wvgutils.c
  * contrib/hbwin/win_misc.c
  * contrib/hbwin/mapi.c
    * ZeroMemory() -> memset()
2009-12-13 16:30:16 +00:00
Viktor Szakats
93ad5ffadd 2009-12-12 19:55 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/win_misc.c
    ! Fixed declaration following code.
2009-12-12 18:56:14 +00:00
Przemyslaw Czerpak
1afd3ffcb6 2009-12-12 13:52 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbwinuni.h
    + added new macro HB_ITEMGETSTR()

  * harbour/src/rtl/gtwin/gtwin.c
    * modified to use new UNICODE API instead of HB_TCHAR_*()

  * harbour/contrib/hbwin/win_misc.c
    * rewritten WIN_GETCOMMANDLINEPARAM()
      New version does not use old HB_TCHAR_*() API and respect multiple
      quoting by "" (i.e. .\"myapp"li"cation".exe)

      TOFIX: WIN_ANSITOWIDE() and WIN_WIDETOANSI() are wrong and have
             to be fixed. Please remember that number of character
             after conversion to/from UNICODE can be different then
             original number of chars, i.e. multibyte characters
             can be replaced by single Unicode character or one Unicode
             character may use few bytes representation.
2009-12-12 12:52:56 +00:00
Viktor Szakats
79186f75a5 2009-12-12 02:43 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/strapi.c
    % Minor optimization (using cdp variable instead of repeated hb_vmCDP() calls.)

  * include/hbwinuni.h
    + Added HB_ITEMPUTSTR[LEN]() macros.
    + Added HB_STRUNSHARE() macro.
    ! Fixed typos in HB_ARRAYSETSTRLEN() macro values.

  * contrib/hbwin/win_prn2.c
    + Using new HB_ITEMPUTSTR() macro instead of HB_TCHAR*().

  * contrib/hbwin/win_misc.c
    ! WIN_RUNDETACHED(): Fixed to guarantee writable buffer in second 
      parameter of CreateProcess(). I've choosen to always pass a writable
      buffer, although MS requires this only for UNICODE mode.

  * contrib/hbwin/wapi_commctrl.c
    + Using new UNICODE parameter passing macros instead of HB_TCHAR*() ones.
    ! Fixed return values of WAPI_IMAGELIST_GETIMAGEINFO() to be empty
      string instead of unset (NIL) in case of error.

  + contrib/hbqt/filelist.mk
    ! Missed from previous commit.

  * contrib/hbwin/win_regc.c
    * Removed trailing spaces (realized I used a temp instance
      of 64-bit Far Manager for the last couple of days)
      (there will be more)
2009-12-12 02:07:01 +00:00
Viktor Szakats
32bf41944d 2009-12-11 10:59 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
    + Added HB_THREADONCEINIT().

  * contrib/hbqt/hbqt.ch
  * contrib/hbxbp/xbp.ch
    ! Moved XBP specific macro to HBXBP header.

  * contrib/hbqt/tests/demoqt.prg
    ! Deleted no more needed init calls.

  * contrib/hbqt/hbqt_events.cpp
    + Added TOFIX about GC collected pointer stored in low level 
      structure. (source of GPF).

  * contrib/hbwin/win_misc.c
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/wapi_winuser.c
  * contrib/hbwin/win_regc.c
  * contrib/hbwin/win_prn1.c
  * contrib/hbwin/win_prn3.c
  * contrib/hbwin/wapi_shellapi.c
  * contrib/hbwin/legacyco.c
    - Deleted now unnecessary '( LP[C]TSTR )' casts.
    + Cleaned const usage in WIN_PRINTERSETDEFAULT().
      F.e. OpenPrinter() has apparently wrong winapi declaration, 
      so a cast must have been added.

    ; TOFIX: CreateProcessW() second parameter has to be a read/write 
             buffer. Przemek, do you have an idea how to solve that 
             the cleanest way?
             (for now I kept a cast, assuming that a buffer is 
             created by Harbour conversion API, but that's not 
             something it guarantees in the future.)
2009-12-11 10:01:12 +00:00
Viktor Szakats
ab407cc082 2009-12-10 15:40 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* hbwin/win_misc.c
  * hbwin/win_prn1.c
    + Using new UNICODE parameter passing macros instead of HB_TCHAR*() ones.
      (where possible)
      WIN_RUNDETACHED(), WIN_LOADRESOURCE(), WIN_CREATEDC(), WIN_GETPRINTERFONTNAME()

  * hbwin/wapi_winbase.c
    ! Fixed typo in two recently added WAPI function names.

  * contrib/hbqt/hbqt.hbc
  * contrib/hbqt/hbqts.hbc
    + Added psapi for win platform, until it's needed for memory debugging purposes.
2009-12-10 14:41:37 +00:00
Viktor Szakats
01fadd92e8 2009-12-09 16:33 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/hbqt_slots.cpp
    % Eliminated two variables.

  * contrib/hbwin/oleinit.c
  * contrib/hbwin/win_misc.c
  * contrib/hbwin/wapi_winuser.c
  * contrib/hbwin/axcore.c
  * contrib/hbwin/olecore.c
  * contrib/hbwin/win_com.c
  * contrib/hbwin/wapi_commctrl.c
    * Using HB_TRUE / HB_FALSE consistenly everywhere.
2009-12-09 15:35:07 +00:00
Viktor Szakats
e2e3b952b3 2009-11-23 01:04 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/axcore.c
  * contrib/hbwin/oleinit.c
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/win_misc.c
  * contrib/hbwin/hbwinole.h
  * contrib/hbwin/olecore.c
  * contrib/hbwin/win_dll.c
    * BOOL -> HB_BOOL (where applicable)
    * ULONG, unsigned long -> HB_SIZE (where applicable)

  * contrib/hbwin/wce_smsc.c
    % Optimized out BOOL var.

  * contrib/hbwin/win_dll.c
    * ULONG -> unsigned long

  * contrib/hbwin/win_prn1.c
  * contrib/hbwin/win_regc.c
  * contrib/hbwin/win_osc.c
  * contrib/hbwin/win_dll.c
    ! Formatting.
2009-11-23 00:05:57 +00:00
Viktor Szakats
f0bf6de5ec 2009-10-14 18:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/win_misc.c
   * contrib/hbwin/wapi_shellapi.c
     + Added _SET_OSCODEPAGE support for WAPI_SHELLEXECUTE() and 
       WIN_RUNDETACHED(). This may make these functions incompatible 
       in some situations. This clears to TODOs in source.

   * INSTALL
     * Minor.

   * ChangeLog
     + Item marked DONE.
2009-10-14 16:48:25 +00:00
Viktor Szakats
27e26b6d4b 2009-10-06 03:28 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/win_misc.c
    + Added TODO (hb_osEncodeCP()).
2009-10-06 01:29:00 +00:00
Przemyslaw Czerpak
7c254a3168 2009-09-11 20:37 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
    + added hb_xgrabz() and hb_xmemdup() macros

  * harbour/include/hbapicdp.h
  * harbour/source/rtl/cdpapi.c
    + added new functions which can be used in translations changing the
      size of trnaslated strings:
         hb_cdpDup(), hb_cdpnDup(), hb_cdpnDup2(), hb_cdpnDup3(),
         hb_cdpnDupLen(), hb_cdpnDup2Len()
      Now hb_cdp[n]Translate() functions are depreciated.
    + added pseduto codepage "UTF8" which can be used in trnaslations only
    + added new function hb_cdpFindExt() which allows to chose pseudo CPs

  * harbour/include/hbapi.h
  * harbour/include/hbset.h
  * harbour/source/vm/set.c
  * harbour/source/nortl/nortl.c
    - removed old functions: hb_osEncode() and hb_osDecode() with low level
      code which was using static char to char translation table
    + add new functions hb_osEncodeCP() and hb_osDecodeCP() which can make
      translations changing the size of translated strings.
      Warning all parameters have to be initialized.
      Passing NULL in second parameter means that the 1-st is dynamically
      allocated and can be used as buffer and reallocated if necessary.
      if 2-nd parameter is not NULL then the 1-st one is used as const value.
      The size of allocated buffer can be passed by reference in 3-rd
      parameter and this value is updated on reallocation.
      If buffer is two small then new bigger one is allocated and old one
      freed.

  * harbour/source/vm/set.c
    + added support for UTF8 translations in _SET_OSCODEPAGE

  * harbour/source/vm/cmdarg.c
  * harbour/source/common/hbffind.c
  * harbour/source/rtl/filesys.c
  * harbour/source/rtl/philes.c
  * harbour/source/rtl/gete.c
  * harbour/source/rtl/net.c
  * harbour/source/rtl/hbproces.c
  * harbour/source/rtl/hbrunfun.c
  * harbour/source/rtl/run.c
  * harbour/contrib/hbwin/win_misc.c
  * harbour/contrib/hbwin/wapi_shellapi.c
  * harbour/contrib/hbwin/wapi_winbase.c
    * use new hb_osEncodeCP()/hb_osDecodeCP() functions

  * harbour/source/rtl/hbi18n1.c
  * harbour/source/rtl/gtxwc/gtxwc.c
  * harbour/source/rtl/gtpca/gtpca.c
    * replaced depreciated hb_cdp[n]Translate() functions with new
      hb_cdp[n]Dup*()

  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gtcgi/gtcgi.c
  * harbour/source/rtl/hbgtcore.c
    * replaced depreciated hb_cdp[n]Translate() functions with new
      hb_cdp[n]Dup*()
    + added support for UTF8 translations set by hb_setDispCP() and
      hb_setTermCP() functions

  * harbour/source/rdd/delim1.c
  * harbour/source/rdd/sdf1.c
  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/dbfnsx/dbfnsx1.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
    * replaced depreciated hb_cdp[n]Translate() functions with new
      hb_cdp[n]Dup*()
    + added support for CP translations which can change the size of
      translated strings
    ! disabled memo field translations for fields marked as binary
    + added support for UTF8 translations.
      Using UTF8 as CP disables any national sorting in indexes.
      Warning: please remember that normal character fields in tables have
               fixed size and translation to UTF8 may increase the string
               and cut results.

  * harbour/source/rdd/dbf1.c
    ! fixed GPF in dbCreate() with empty struct table
2009-09-11 18:38:10 +00:00
Viktor Szakats
30ade9b7e2 2009-08-14 15:35 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* bin/hb-mkdyn.bat
    ! Fixed gcc family (mingw) .dll generation. New tricks
      had to be employed to workaround 8K cmdline limits.

  * contrib/hbwin/win_misc.c
    * Implemented recent WinCE fix by Przemek for another
      CreateProcess() call.

  * utils/hbmk2/hbmk2.prg
    * Cleaned system lib list for wce platform.
      wininet, commdlg, commctrl libs moved from base to extra
      system lib list. These libs aren't needed by Harbour code
      code. [ No change in functionality, just synced with rest
      of Harbour. ]
      I didn't test yet, but seeing the content of this lib,
      it's not needed for Harbour core code.

  * config/wce/global.cf
  * bin/hb-mkdyn.bat
    % Deleted wininet wce system lib from liblist.

  * config/wce/poccarm.cf
    % Deleted winsock wce system lib from poccarm liblist.
      ws2 should be enough. (I didn't retest the platform yet)

  * config/wce/msvcarm.cf
  * config/wce/global.cf
  * config/wce/mingwarm.cf
  * config/wce/poccarm.cf
  * config/win/watcom.cf
  * config/win/icc.cf
  * config/win/cygwin.cf
  * config/win/global.cf
  * config/win/msvc.cf
  * config/win/xcc.cf
  * config/win/mingw.cf
  * config/win/pocc.cf
  * config/win/bcc.cf
    % Moved system lib list definition to <arch>/global.cf files
      for wce/win platforms.
      This will ensure that compilers for the same platform will
      always use the same system libs too.
      Added reasoning in comment for each extra win system lib.
    % Deleted the same meaningless comment line from all files.

  * config/global.cf
    + Showing $(SHELL) variable content.
    + Added experimental support for explicitly changing $(SHELL)
      variable for nt and dos shells. This should solve the
      problem when mingw32-make is picking up sh.exe as shell if
      cygwin or msys is in the PATH (or the user may also have
      sh.exe laying around).

  * INSTALL
    % Deleted SHLVL hack from wce/mingwarm build config example.
      Not needed anymore.
    % Deleted "sh.exe mustn't be in the path" sentences.
      Not needed anymore, now it can be in the PATH.

  * make_gnu.bat
    + Readded calling sh for cygwin. (sorry I needed this personally
      to keep the same interface for all cases on Windows, but I'll
      think about this further, also to better cover mingw+msys case.
      So this is rather temporary.)
2009-08-14 14:09:25 +00:00
Viktor Szakats
b3e422d967 2009-07-30 12:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbwin/Makefile
  + contrib/hbwin/hbsim.ch
  + contrib/hbwin/wce_simc.c
  + contrib/hbwin/wce_smsc.c
  + contrib/hbwin/wce_sim.prg
  + contrib/hbwin/tests/testsim.prg
    + Added SIM reading and SMS sending interfaces for WinCE.
      This is a contribution from Jose Luis Capel. Many thanks for it.

    ; NOTE:
      mingwarm doesn't support these APIs unfortunately, poccarm does,
      and msvcarm as well, but I couldn't try the latter.
      (I've applied formatting, cleanups and some minor fixes)
      Jose and all, please review and test.

  * examples/httpsrv/uhttpd.prg
  * examples/httpsrv/uhttpd.hbp
  * examples/httpsrv/readme.txt
    % Given less focus on the socket selection issue. Now the only
      difference is .prg level API and local API is fully portable.
    * Made the proprietary one the default on all platforms.
      (it looks much more obvious/simple to use, also requires less
      STATIC variables)

  * contrib/hbwin/win_misc.c
    ! Fix for WinCE.

  * ChangeLog
    ! Typos.
2009-07-30 10:01:06 +00:00
Viktor Szakats
d518e481c5 2009-07-30 00:43 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * source/rtl/dateshb.c
    + Added HB_UTCOFFSET() -> <nSecs> core function to return UTC offset
      as signed number in seconds.

  * contrib/hbwin/win_misc.c
    + Copied WIN_SYSREFRESH() from httpsrv. Bit reworked (types, goto,
      64-bit compatibility, unnecessary outer loop), pls review.

  * examples/httpsrv/uhttpd.hbp
  - examples/httpsrv/uhttpdc.c
  * examples/httpsrv/uhttpd.prg
    * HB_UTCOFFSET() renamed to UHTTPD_UTCOFFSET() and rewritten as .prg.
    ! Using __PLATFORM__WINDOWS to enable WIN_SYSREFRESH() calls.
2009-07-29 22:46:19 +00:00
Przemyslaw Czerpak
c3e1436da0 2009-06-26 02:22 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbvm.h
  * harbour/include/hbrdddbf.h
  * harbour/include/hbapidbg.h
  * harbour/include/hbset.h
  * harbour/include/hbcomp.h
  * harbour/include/hbapirdd.h
  * harbour/include/hbstack.h
  * harbour/include/hbsxfunc.h
  * harbour/include/hbapilng.h
  * harbour/include/hbgtcore.h
  * harbour/include/hbapifs.h
  * harbour/include/hbdbsort.h
  * harbour/include/hbapigt.h
  * harbour/include/hbapi.h
  * harbour/include/hbapierr.h
  * harbour/include/hbapiitm.h
  * harbour/include/hbrddfpt.h
  * harbour/contrib/hbmysql/mysql.c
  * harbour/contrib/hbct/bitnum.c
  * harbour/contrib/hbct/token2.c
  * harbour/contrib/hbct/charsprd.c
  * harbour/contrib/hbct/ctnet.c
  * harbour/contrib/hbct/charonly.c
  * harbour/contrib/hbct/atadjust.c
  * harbour/contrib/hbct/ctwin.c
  * harbour/contrib/hbct/charsort.c
  * harbour/contrib/hbct/ctwin.h
  * harbour/contrib/hbct/charmix.c
  * harbour/contrib/hbct/charevod.c
  * harbour/contrib/hbct/maxline.c
  * harbour/contrib/hbct/wordrepl.c
  * harbour/contrib/hbct/charrepl.c
  * harbour/contrib/hbct/files.c
  * harbour/contrib/hbct/video.c
  * harbour/contrib/hbct/charswap.c
  * harbour/contrib/hbct/dattime3.c
  * harbour/contrib/hbct/charop.c
  * harbour/contrib/hbct/misc2.c
  * harbour/contrib/hbct/charone.c
  * harbour/contrib/hbct/ctstr.c
  * harbour/contrib/hbct/screen1.c
  * harbour/contrib/hbct/token1.c
  * harbour/contrib/hbct/ctstr.h
  * harbour/contrib/hbct/charmirr.c
  * harbour/contrib/hbct/relation.c
  * harbour/contrib/hbct/atnum.c
  * harbour/contrib/hbct/like.c
  * harbour/contrib/hbct/count.c
  * harbour/contrib/hbct/disk.c
  * harbour/contrib/hbct/ctstrfil.c
  * harbour/contrib/hbct/posdiff.c
  * harbour/contrib/hbct/addascii.c
  * harbour/contrib/hbct/tab.c
  * harbour/contrib/hbct/numline.c
  * harbour/contrib/hbct/dattime2.c
  * harbour/contrib/hbct/asciisum.c
  * harbour/contrib/hbct/expand.c
  * harbour/contrib/hbct/pos2.c
  * harbour/contrib/hbct/numat.c
  * harbour/contrib/hbct/atrepl.c
  * harbour/contrib/hbct/wordtoch.c
  * harbour/contrib/hbct/print.c
  * harbour/contrib/hbct/justify.c
  * harbour/contrib/xhb/hbxml.c
  * harbour/contrib/xhb/dbf2txt.c
  * harbour/contrib/xhb/xhbis.c
  * harbour/contrib/xhb/fparse.c
  * harbour/contrib/xhb/xstrdel.c
  * harbour/contrib/xhb/hbcomprs.c
  * harbour/contrib/xhb/datesxhb.c
  * harbour/contrib/xhb/xhbmsgs.c
  * harbour/contrib/xhb/freadlin.c
  * harbour/contrib/xhb/txtline.c
  * harbour/contrib/xhb/xhbtrim.c
  * harbour/contrib/xhb/xhbcopyf.c
  * harbour/contrib/xhb/cstructc.c
  * harbour/contrib/xhb/xhbfunc.c
  * harbour/contrib/hbtpathy/tplinux.c
  * harbour/contrib/hbgt/charmixg.c
  * harbour/contrib/hbgt/strexpan.c
  * harbour/contrib/hbgt/charodd.c
  * harbour/contrib/hbgt/strright.c
  * harbour/contrib/hbgt/asciisgt.c
  * harbour/contrib/hbgt/strdiffg.c
  * harbour/contrib/hbgt/chrtotal.c
  * harbour/contrib/hbgt/strcount.c
  * harbour/contrib/hbgt/strleft.c
  * harbour/contrib/hbgt/ascposgt.c
  * harbour/contrib/hbgt/chrfirst.c
  * harbour/contrib/hbgt/chrcount.c
  * harbour/contrib/hbgt/strpbrk.c
  * harbour/contrib/hbgt/chareven.c
  * harbour/contrib/hbgt/strcspn.c
  * harbour/contrib/hbgt/atdiff.c
  * harbour/contrib/hbsqlit3/hbsqlit3.c
  * harbour/contrib/hbmzip/hbmzip.c
  * harbour/contrib/hbnf/proper.c
  * harbour/contrib/hbnf/fttext.c
  * harbour/contrib/hbnf/chdir.c
  * harbour/contrib/hbnf/getver.c
  * harbour/contrib/hbnf/ftattr.c
  * harbour/contrib/hbnf/mkdir.c
  * harbour/contrib/hbnf/rmdir.c
  * harbour/contrib/Makefile
  * harbour/contrib/hbcurl/hbcurl.c
  * harbour/contrib/rddsql/sddmy/mysqldd.c
  * harbour/contrib/rddsql/sddpg/pgsqldd.c
  * harbour/contrib/rddsql/sddfb/fbirddd.c
  * harbour/contrib/rddsql/sddodbc/odbcdd.c
  * harbour/contrib/rddsql/sqlmix.c
  * harbour/contrib/hbhpdf/harupdf.c
  * harbour/contrib/rddads/adsx.c
  * harbour/contrib/rddads/adsfunc.c
  * harbour/contrib/rddads/rddads.h
  * harbour/contrib/rddads/ads1.c
  * harbour/contrib/hbmisc/hb_f.c
  * harbour/contrib/hbmisc/strfmt.c
  * harbour/contrib/hbmisc/stringsx.c
  * harbour/contrib/hbmisc/spd.c
  * harbour/contrib/hbtip/utils.c
  * harbour/contrib/hbwin/wapi_winbase.c
  * harbour/contrib/hbwin/win_misc.c
  * harbour/contrib/hbbtree/hb_btree.h
  * harbour/contrib/hbbtree/hb_btree.c
  * harbour/source/pp/hbpp.c
  * harbour/source/vm/runner.c
  * harbour/source/vm/estack.c
  * harbour/source/vm/itemapi.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/cmdarg.c
  * harbour/source/vm/memvars.c
  * harbour/source/vm/dynlibhb.c
  * harbour/source/vm/set.c
  * harbour/source/main/harbour.c
  * harbour/source/debug/dbgentry.c
  * harbour/source/common/hbfsapi.c
  * harbour/source/common/hbfopen.c
  * harbour/source/rtl/gtdos/gtdos.c
  * harbour/source/rtl/diskspac.c
  * harbour/source/rtl/console.c
  * harbour/source/rtl/chrasc.c
  * harbour/source/rtl/fscopy.c
  * harbour/source/rtl/run.c
  * harbour/source/rtl/spfiles.c
  * harbour/source/rtl/defpath.c
  * harbour/source/rtl/philes.c
  * harbour/source/rtl/oldbox.c
  * harbour/source/rtl/math.c
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/cdpapi.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/dirdrive.c
  * harbour/source/rtl/hbi18n1.c
  * harbour/source/rtl/trim.c
  * harbour/source/rtl/hbzlibgz.c
  * harbour/source/rtl/philesx.c
  * harbour/source/rtl/mlcfunc.c
  * harbour/source/rtl/filehb.c
  * harbour/source/rtl/fstemp.c
  * harbour/source/rtl/is.c
  * harbour/source/rtl/hbrunfun.c
  * harbour/source/rtl/ampm.c
  * harbour/source/rtl/setcolor.c
  * harbour/source/rtl/oemansi.c
  * harbour/source/rtl/disksphb.c
  * harbour/source/rtl/hbzlib.c
  * harbour/source/rtl/strpeek.c
  * harbour/source/rtl/replic.c
  * harbour/source/rtl/stuff.c
  * harbour/source/rtl/hbstrfmt.c
  * harbour/source/rtl/transfrm.c
  * harbour/source/rtl/hbhex.c
  * harbour/source/rtl/trace.c
  * harbour/source/rtl/hbadler.c
  * harbour/source/rtl/samples.c
  * harbour/source/rtl/filebuf.c
  * harbour/source/rtl/hbcrc.c
  * harbour/source/rtl/gete.c
  * harbour/source/rtl/hbmd5.c
  * harbour/source/rtl/langapi.c
  * harbour/source/rtl/gtcgi/gtcgi.c
  * harbour/source/rtl/errapi.c
  * harbour/source/rtl/hbregexc.c
  * harbour/source/rtl/natmsg.c
  * harbour/source/rtl/fssize.c
  * harbour/source/rtl/hbinet.c
  * harbour/source/rtl/colorind.c
  * harbour/source/rtl/copyfile.c
  * harbour/source/rtl/mouseapi.c
  * harbour/source/rtl/soundex.c
  * harbour/source/rtl/memofile.c
  * harbour/source/rtl/hbffind.c
  * harbour/source/rtl/gtapi.c
  * harbour/source/rtl/direct.c
  * harbour/source/rtl/filesys.c
  * harbour/source/rtl/file.c
  * harbour/source/rtl/val.c
  * harbour/source/rtl/hbregex.c
  * harbour/source/rtl/rat.c
  * harbour/source/rtl/isprint.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rdd/dbsql.c
  * harbour/source/rdd/workarea.c
  * harbour/source/rdd/wacore.c
  * harbour/source/rdd/sdf1.c
  * harbour/source/rdd/dbdetach.c
  * harbour/source/rdd/dbcmdx.c
  * harbour/source/rdd/dbfnsx/dbfnsx1.c
  * harbour/source/rdd/dbcmd.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/delim1.c
  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/hsx/hsx.c
  * harbour/source/rdd/dbcmd53.c
  * harbour/source/rdd/usrrdd/usrrdd.c
  * harbour/source/rdd/wafunc.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/hbsix/sxsem.c
  * harbour/source/rdd/hbsix/sxord.c
  * harbour/source/rdd/hbsix/sxfname.c
  * harbour/source/rdd/hbsix/sxtable.c
  * harbour/source/rdd/hbsix/sxdate.c
  * harbour/source/rdd/hbsix/sxutil.c
  * harbour/source/rdd/hbsix/sxcompr.c
  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/hbpcode.c
  * harbour/source/compiler/genc.c
  * harbour/source/compiler/gencc.c
  * harbour/source/compiler/hbcmplib.c
  * harbour/source/compiler/ppcomp.c
    * changed 'char *' and changed 'BYTE *' to 'const char *' in
      the following functions:
         const char * hb_vmFindModuleSymbolName( PHB_SYMB pSym );
         void  hb_vmInitSymbolGroup( void * hNewDynLib, int argc,
                                     const char * argv[] );
         void hb_dbgEntry( int nMode, int nLine, const char *szName,
                           int nIndex, PHB_ITEM pFrame );
         void hb_dbgAddBreak( void *handle, const char *cModule,
                              int nLine, const char *szFunction );
         void hb_dbgAddWatch( void *handle, const char *szExpr, BOOL bTrace );
         PHB_ITEM hb_dbgGetExpressionValue( void *handle,
                                            const char *expression );
         BOOL hb_dbgIsValidStopLine( void *handle, const char *szModule,
                                     int nLine );
         void hb_dbgSetToCursor( void *handle, const char *szModule,
                                 int nLine );
         void hb_dbgSetWatch( void *handle, int nWatch,
                              const char *szExpr, BOOL bTrace );
         const char * hb_setGetCPtr( HB_set_enum set_specifier );
         const char * hb_setGetAltFile( void );
         const char * hb_setGetDateFormat( void );
         const char * hb_setGetTimeFormat( void );
         const char * hb_setGetDefault( void );
         const char * hb_setGetDelimChars( void );
         const char * hb_setGetDevice( void );
         const char * hb_setGetExtraFile( void );
         const char * hb_setGetPath( void );
         const char * hb_setGetMFileExt( void );
         const char * hb_setGetPrintFile( void );
         const char * hb_setGetEOL( void );
         const char * hb_setGetHBOUTLOG( void );
         const char * hb_setGetHBOUTLOGINFO( void );
         const char * hb_setGetOSCODEPAGE( void );
         void hb_compInitPP( HB_COMP_DECL, int argc,
                             const char * const argv[] );
         void hb_compGenPCodeN( const BYTE * pBuffer, ULONG ulSize,
                                HB_COMP_DECL );
         int  hb_compMain( int argc, const char * const argv[],
                           BYTE ** pBufPtr, ULONG * pulSize,
                           const char * szSource );
         void hb_compChkCompilerSwitch( HB_COMP_DECL, int,
                                        const char * const args[] );
         void hb_compChkDefines( HB_COMP_DECL, int iArg,
                                 const char * const args[] );
         void hb_compGenCString( FILE * yyc, const BYTE * pText, ULONG ulLen );
         AREAP hb_rddRequestArea( const char * szAlias, PHB_ITEM pCargo,
                                  BOOL fNewArea, BOOL fWait );
         char * hb_stackDirBuffer( void );
         LONG hb_sxPtoD( const char * pDate );
         const char * hb_langID( void );
         const char * hb_langSelectID( const char * pszID );
         const char * hb_langDGetItem( int iIndex );
         const char * hb_langDGetErrorDesc( ULONG ulIndex );
         BOOL       hb_fsChDir( const char * pszDirName );
         HB_FHANDLE hb_fsCreate( const char * pszFileName, ULONG ulAttr );
         HB_FHANDLE hb_fsCreateEx( const char * pszFilename, ULONG ulAttr,
                                   USHORT uiFlags );
         HB_FHANDLE hb_fsCreateTemp( const char * pszDir,
                                     const char * pszPrefix,
                                     ULONG ulAttr, char * pszName );
         HB_FHANDLE hb_fsCreateTempEx( char * pszName, const char * pszDir,
                                       const char * pszPrefix,
                                       const char * pszExt, ULONG ulAttr );
         const char * hb_fsCurDir( USHORT uiDrive );
         USHORT     hb_fsCurDirBuff( USHORT uiDrive, char * pbyBuffer,
                                     ULONG ulLen );
         void       hb_fsBaseDirBuff( char * pbyBuffer );
         BOOL       hb_fsDelete( const char * pszFileName );
         BOOL       hb_fsFile( const char * pszFileName );
         BOOL       hb_fsIsDirectory( const char * pszFilename );
         HB_FOFFSET hb_fsFSize( const char * pszFileName, BOOL bUseDirEntry );
         HB_FHANDLE hb_fsExtOpen( const char * pszFileName,
                                  const char * pDefExt,
         char *     hb_fsExtName( const char * pFilename,
                                  const char * pDefExt, USHORT uiExFlags,
                                  const char * pPaths );
         BOOL       hb_fsMkDir( const char * pszDirName );
         HB_FHANDLE hb_fsOpen( const char * pszFileName, USHORT uiFlags );
         BOOL       hb_fsRmDir( const char * pszDirName );
         BOOL       hb_fsRename( const char * pszOldName,
                                 const char * pszNewName );
         BOOL       hb_fsGetFileTime( const char * pszFileName,
                                      LONG * plJulian, LONG * plMillisec );
         BOOL       hb_fsSetFileTime( const char * pszFileName,
                                      LONG lJulian, LONG lMillisec );
         BOOL       hb_fsGetAttr( const char * pszFileName, ULONG * pulAttr );
         BOOL       hb_fsSetAttr( const char * pszFileName, ULONG ulAttr );
         HB_FHANDLE hb_fsPOpen( const char * pFilename, const char * pMode );
         BOOL       hb_fsCopy( const char * pSource, const char * pDest );
         BOOL       hb_spFile( const char * pFilename, char * pRetPath );
         BOOL       hb_spFileExists( const char * pFilename, char * pRetPath );
         HB_FHANDLE hb_spOpen( const char * pFilename, USHORT uiFlags );
         HB_FHANDLE hb_spCreate( const char * pFilename, ULONG ulAttr );
         HB_FHANDLE hb_spCreateEx( const char * pFilename,
                                   ULONG ulAttr, USHORT uiFlags );
         PHB_FILE   hb_fileExtOpen( const char * pFilename,
                                    const char * pDefExt, USHORT uiExFlags,
                                    const char * pPaths, PHB_ITEM pError );
         PHB_FILE   hb_fileCreateTemp( const char * pszDir,
                                       const char * pszPrefix,
                                       ULONG ulAttr, char * pszName );
         PHB_FILE   hb_fileCreateTempEx( char * pszName, const char * pszDir,
                                         const char * pszPrefix,
                                         const char * pszExt, ULONG ulAttr );
         HB_ERRCODE hb_gtBox( SHORT uiTop, SHORT uiLeft, SHORT uiBottom,
                              SHORT uiRight, const BYTE * pbyFrame );
         HB_ERRCODE hb_gtDrawBox( SHORT uiTop, SHORT uiLeft, SHORT uiBottom,
                                  SHORT uiRight, const BYTE * pbyFrame,
                                  int iColor );
         HB_ERRCODE hb_gtWrite( const BYTE * pbyStr, ULONG ulLen );
         HB_ERRCODE hb_gtWriteAt( USHORT uiRow, USHORT uiCol,
                                  const BYTE * pbyStr, ULONG ulLen );
         HB_ERRCODE hb_gtWriteCon( const BYTE * pbyStr, ULONG ulLen );
         HB_ERRCODE hb_gtPutText( USHORT uiRow, USHORT uiCol,
                                  const BYTE * pStr, ULONG ulLength,
                                  int iColor );
         HB_ERRCODE hb_gtOutStd( const BYTE * pbyStr, ULONG ulLen );
         HB_ERRCODE hb_gtOutErr( const BYTE * pbyStr, ULONG ulLen );
         HB_ERRCODE hb_gtBoxEx( int iTop, int iLeft, int iBottom, int iRight,
                                const BYTE * pbyFrame, int iColor );
         void       hb_mouseRestoreState( const BYTE * pBuffer );
         const char * hb_strLTrim( const char * szText, ULONG * ulLen );
         const char * hb_conNewLine( void );
         const char * hb_conSetColor( const char * szColor );
         const char * hb_errGetDescription( PHB_ITEM pError );
         const char * hb_errGetFileName( PHB_ITEM pError );
         const char * hb_errGetOperation( PHB_ITEM pError );
         const char * hb_errGetSubSystem( PHB_ITEM pError );
         int hb_ctwAddWindowBox( int iWindow, const BYTE * szBox, int iColor );
         const char *ct_at_exact_forward
                              ( const char *pcString, size_t sStrLen,
                                const char *pcMatch, size_t sMatchLen,
                                size_t *psMatchStrLen );
         const char *ct_at_exact_backward
                              ( const char *pcString, size_t sStrLen,
                                const char *pcMatch, size_t sMatchLen,
                                size_t *psMatchStrLen );
         const char *ct_at_wildcard_forward
                              ( const char *pcString, size_t sStrLen,
                                const char *pcMatch, size_t sMatchLen,
                                char cWildCard, size_t *psMatchStrLen );
         const char *ct_at_wildcard_backward
                              ( const char *pcString, size_t sStrLen,
                                const char *pcMatch, size_t sMatchLen,
                                char cWildCard, size_t *psMatchStrLen );
         const char *ct_at_charset_forward
                              ( const char *pcString, size_t sStrLen,
                                const char *pcCharSet, size_t sCharSetLen,
                                size_t *psMatchedCharPos );
         const char *ct_at_charset_backward
                              ( const char *pcString, size_t sStrLen,
                                const char *pcCharSet, size_t sCharSetLen,
                                size_t *psMatchedCharPos );
         char * hb_adsOemToAnsi( const char * pcString, ULONG ulLen );
         char * hb_adsAnsiToOem( const char * pcString, ULONG ulLen );
         struct hb_BTree * hb_BTreeNew( const char *FileName,
                                        USHORT usPageSize, USHORT usKeySize,
                                        ULONG ulFlags, USHORT usBuffers );
         struct hb_BTree * hb_BTreeOpen( const char *FileName, ULONG lFlags,
                                         USHORT usBuffers );
         BOOL hb_BTreeInsert( struct hb_BTree * pBTree, const char * szKey,
                              PHB_ITEM pData );
         BOOL hb_BTreeDelete( struct hb_BTree * pBTree, const char * szKey,
                              LONG lData );
         BOOL hb_BTreeSeek( struct hb_BTree * pBTree, const char * szKey,
                            LONG lData, BOOL bSoftSeek );
         const char * hb_BTreeKey( struct hb_BTree * pBTree );

    * modified RDD methods:
         HB_ERRCODE PUTVALUEFILE( AREAP, USHORT, const char *, USHORT );
         HB_ERRCODE GETVALUEFILE( AREAP, USHORT, const char *, USHORT );
    * modified GT methods:
         void REST( HB_GT_PTR, int, int, int, int, const BYTE * );
         void PUTTEXT( HB_GT_PTR, int, int, BYTE, const BYTE *, ULONG );
         void WRITEAT( HB_GT_PTR, int, int, const BYTE *, ULONG );
         void WRITE( HB_GT_PTR, const BYTE *, ULONG );
         void WRITECON( HB_GT_PTR, const BYTE *, ULONG );
         void BOX( HB_GT_PTR, int, int, int, int, const BYTE *, BYTE );
         void BOXD( HB_GT_PTR, int, int, int, int, const BYTE *, BYTE );
         void BOXS( HB_GT_PTR, int, int, int, int, const BYTE *, BYTE );
         void OUTSTD( HB_GT_PTR, BYTE *, ULONG );
         void OUTERR( HB_GT_PTR, BYTE *, ULONG );
         void MOUSERESTORESTATE( HB_GT_PTR, const BYTE * );
    * modified RDD structers:
         DBFIELDINFO, DBOPENINFO, DBORDERCONDINFO, DBCONSTRAINTINFO,
         DBORDERCREATEINFO
    + modified parameters and behevior:
         const char * hb_fsNameConv( const char * szFileName, char ** pszFree );
         const char * hb_osEncode( const char * szFileName, char ** pszFree );
         const char * hb_osDecode( const char * szFileName, char ** pszFree );
      Please look at implementation and current usage of these functions.
    + added new function:
         BOOL hb_itemGetWriteCL( PHB_ITEM pItem,
                                 char ** pszValue, ULONG * pulLen );
      which converts item string buffer to writable state to use with
      functions like FREAD() instead of hb_itemUnShare*()
    * updatd other code to respect above modifications
    ! fixed bugs (also GPF traps) located by above modifications

   TODO: please make build tests. Especially in OS2 - not tested at all.
2009-06-26 00:33:38 +00:00
Viktor Szakats
60243735d5 2009-06-20 04:22 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/mlcfunc.c
    % Minor optimization to EOL parameter handling.
      Please review.

  * source/rtl/dates.c
    ! Fixed warning with cast.

  * contrib/hbwin/win_misc.c
    + Enabled WIN_LOWORD(), WIN_HIWORD(). Added casts.

  - examples/wxh
    - Deleted empty dir. Will readd when moving wxh lib here.
2009-06-20 02:28:33 +00:00
Viktor Szakats
41b7534251 2009-06-18 00:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * source/rtl/datesx.c
    * STOD() function not protected by HB_COMPAT_XPP anymore.
      Instead it's turned off only in HB_C52_STRICT mode.

  + contrib/xpp/xppextrn.ch
    + Added.

  * contrib/hbwin/win_misc.c
    + Added WIN_HIWORD() and WIN_LOWORD() functions (from GTWVG).
      But commented because of colliding names.
2009-06-17 22:34:21 +00:00
Viktor Szakats
41979f5b60 2009-06-17 08:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added support for rest of embedded compiler installations:
      pocc64, poccarm, dos/watcom. Since these share a common
      install kit with other targets, they can only be selected
      using -comp= switch and in this case they will be used
      if the installation is present.

  * contrib/hbwin/win_misc.c
    + Added support for embedded Chr(0) to WIN_ANSITOWIDE() and
      WIN_WIDETOANSI().
    ! Fixed WIN_ANSITOWIDE(). Dunno when it worked the last time,
      but it must be long ago (SysStringLen() was returning zero).

  * contrib/hbwin/Makefile
  * contrib/hbwin/win_misc.c
  + contrib/hbwin/wapi_shellapi.c
    * Moved and renamed WIN_SHELLEXECUTE() to WAPI_SHELLEXECUTE()
      since this implementation is a full wrapper of original
      Windows API. Incompatible. Please update your sources.

  * contrib/hbwin/legacyco.c
    * Formatting.
2009-06-17 06:34:57 +00:00
Viktor Szakats
f3577a269a 2009-06-16 16:59 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* contrib/hbwin/win_misc.c
    + Added these functions:
      WIN_HINSTANCE() -> <ptr>
      WIN_HPREVINSTANCE() -> <ptr>
      WIN_NCMDSHOW() -> <nNum>

  * contrib/xhb/ttable.prg
    ! Fixed missing EXIT reported by Grigory Filatov.
    * Changed few xhb keywords to Harbour, removed xhb.ch header.
2009-06-16 15:00:49 +00:00
Viktor Szakats
1de11ac355 2009-06-14 00:52 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/gtwvg/gtwvg.c
  * contrib/gtwvg/wincallb.c
  * contrib/gtwvg/wvgcore.c
  * contrib/gtwvg/wvgcuig.c
  * contrib/gtwvg/wvgutils.c
  * contrib/gtwvg/wvgwin.c
  * contrib/hbbmcdx/bmdbfcdx.c
  * contrib/hbbtree/hb_btree.c
  * contrib/hbclipsm/environ.c
  * contrib/hbclipsm/gauge.c
  * contrib/hbclipsm/num.c
  * contrib/hbclipsm/status.c
  * contrib/hbct/addascii.c
  * contrib/hbct/asciisum.c
  * contrib/hbct/ascpos.c
  * contrib/hbct/atadjust.c
  * contrib/hbct/atnum.c
  * contrib/hbct/atrepl.c
  * contrib/hbct/bitnum.c
  * contrib/hbct/charevod.c
  * contrib/hbct/charlist.c
  * contrib/hbct/charmirr.c
  * contrib/hbct/charmix.c
  * contrib/hbct/charone.c
  * contrib/hbct/charonly.c
  * contrib/hbct/charop.c
  * contrib/hbct/charrepl.c
  * contrib/hbct/charsort.c
  * contrib/hbct/charsprd.c
  * contrib/hbct/charswap.c
  * contrib/hbct/color.c
  * contrib/hbct/count.c
  * contrib/hbct/ctc.c
  * contrib/hbct/ctmath2.c
  * contrib/hbct/ctnet.c
  * contrib/hbct/ctpad.c
  * contrib/hbct/ctstr.c
  * contrib/hbct/ctstrfil.c
  * contrib/hbct/ctwfunc.c
  * contrib/hbct/datetime.c
  * contrib/hbct/dattime2.c
  * contrib/hbct/disk.c
  * contrib/hbct/expand.c
  * contrib/hbct/files.c
  * contrib/hbct/finan.c
  * contrib/hbct/justify.c
  * contrib/hbct/keyset.c
  * contrib/hbct/lton.c
  * contrib/hbct/maxline.c
  * contrib/hbct/misc1.c
  * contrib/hbct/num1.c
  * contrib/hbct/numat.c
  * contrib/hbct/numcount.c
  * contrib/hbct/numline.c
  * contrib/hbct/pos1.c
  * contrib/hbct/pos2.c
  * contrib/hbct/posdiff.c
  * contrib/hbct/print.c
  * contrib/hbct/range.c
  * contrib/hbct/relation.c
  * contrib/hbct/remove.c
  * contrib/hbct/replace.c
  * contrib/hbct/screen1.c
  * contrib/hbct/screen2.c
  * contrib/hbct/setrc.c
  * contrib/hbct/strdiff.c
  * contrib/hbct/strswap.c
  * contrib/hbct/tab.c
  * contrib/hbct/token1.c
  * contrib/hbct/token2.c
  * contrib/hbct/trig.c
  * contrib/hbct/video.c
  * contrib/hbct/wordrepl.c
  * contrib/hbct/wordtoch.c
  * contrib/hbcurl/hbcurl.c
  * contrib/hbcurl/hbcurlm.c
  * contrib/hbfbird/firebird.c
  * contrib/hbfimage/fi_wrp.c
  * contrib/hbgd/gdwrp.c
  * contrib/hbgt/ascposgt.c
  * contrib/hbgt/atdiff.c
  * contrib/hbgt/bitflags.c
  * contrib/hbgt/charmixg.c
  * contrib/hbgt/chrcount.c
  * contrib/hbgt/chrfirst.c
  * contrib/hbgt/chrtotal.c
  * contrib/hbgt/strcount.c
  * contrib/hbgt/strcspn.c
  * contrib/hbgt/strdiffg.c
  * contrib/hbgt/strleft.c
  * contrib/hbgt/strpbrk.c
  * contrib/hbgt/strright.c
  * contrib/hbmisc/dates2.c
  * contrib/hbmisc/hb_f.c
  * contrib/hbmisc/stringsx.c
  * contrib/hbmysql/mysql.c
  * contrib/hbmzip/hbmzip.c
  * contrib/hbnf/caplock.c
  * contrib/hbnf/chdir.c
  * contrib/hbnf/color2n.c
  * contrib/hbnf/ftattr.c
  * contrib/hbnf/fttext.c
  * contrib/hbnf/getenvrn.c
  * contrib/hbnf/mkdir.c
  * contrib/hbnf/n2color.c
  * contrib/hbnf/numlock.c
  * contrib/hbnf/peek.c
  * contrib/hbnf/poke.c
  * contrib/hbnf/prtscr.c
  * contrib/hbnf/putkey.c
  * contrib/hbnf/rmdir.c
  * contrib/hbodbc/odbc.c
  * contrib/hbqt/hbqt_qradiobutton.cpp
  * contrib/hbqt/qth/QRadioButton.qth
  * contrib/hbsqlit3/hbsqlit3.c
  * contrib/hbssl/ssl.c
  * contrib/hbssl/sslciph.c
  * contrib/hbtip/utils.c
  * contrib/hbwin/legacyc.c
  * contrib/hbwin/olecore.c
  * contrib/hbwin/wapi_commctrl.c
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/wapi_winuser.c
  * contrib/hbwin/win_dll.c
  * contrib/hbwin/win_misc.c
  * contrib/hbwin/win_prn1.c
  * contrib/hbwin/win_prn2.c
  * contrib/hbwin/win_prt.c
  * contrib/rddads/ads1.c
  * contrib/rddads/adsfunc.c
  * contrib/rddads/adsmgmnt.c
  * contrib/xhb/datesxhb.c
  * contrib/xhb/fparse.c
  * contrib/xhb/freadlin.c
  * contrib/xhb/hbcomprs.c
  * contrib/xhb/hboutdbg.c
  * contrib/xhb/txtline.c
  * contrib/xhb/xhbarr.c
  * contrib/xhb/xhbcopyf.c
  * contrib/xhb/xhbfunc.c
  * contrib/xhb/xhbsave.c
  * contrib/xhb/xhbtrim.c
  * contrib/xhb/xstrdel.c
    * IS*() -> HB_IS*() macro rename.
      (pass 3 - final)
2009-06-13 22:57:48 +00:00
Viktor Szakats
0ea981e9c4 2009-06-03 12:20 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* tests/langapi.prg
  * tests/rto_get.prg
  * tests/lnlenli2.prg
  * tests/fortest.prg
  * tests/memory.prg
  * tests/rto_tb.prg
  * tests/statinit.prg
  * tests/memfile.prg
  * tests/vec1.prg
  * tests/lnlenli1.prg
  * doc/cmdline.txt
  * doc/en-EN/hb_date.txt
  * doc/en-EN/terminal.txt
  * doc/en-EN/hb_apiln.txt
  * doc/en-EN/hb_compa.txt
  * doc/howtosvn.txt
  * INSTALL
  * bin/postinst.cmd
  * bin/postinst.bat
  * include/hbvmpub.h
  * include/vm.api
  * include/extend.api
  * include/item.api
  * include/hbapilng.h
  * include/rdd.api
  * include/gt.api
  * include/hbundoc.api
  * include/error.api
  * include/hbsetup.ch
  * include/hblang.ch
  * include/hbsetup.h
  * include/hbapigt.h
  * include/hbmemory.ch
  * include/clipdefs.h
  * include/hboo.ch
  * include/hbver.ch
  * include/hbzlib.h
  * include/fm.api
  * include/hbdate.h
  * include/extend.h
  * ChangeLog
  * harbour.spec
  * make_gnu.bat
  * make_gnu.sh
  * contrib/hbmysql/mysqlold.c
  * contrib/hbct/charmix.c
  * contrib/hbct/charevod.c
  * contrib/hbct/ctchksum.c
  * contrib/hbct/pos1.c
  * contrib/hbct/ctmisc.prg
  * contrib/hbct/ctcrypt.c
  * contrib/hbct/getinfo.prg
  * contrib/hbct/ctdummy.prg
  * contrib/hbct/readme.txt
  * contrib/hbodbc/odbcold.c
  * contrib/hbodbc/browodbc.prg
  * contrib/hbodbc/odbc.c
  * contrib/xhb/datesxhb.c
  * contrib/xhb/xhbat.c
  * contrib/xhb/xhbver.prg
  * contrib/xhb/xhbcomp.prg
  * contrib/hbziparc/hbziparc.prg
  * contrib/hbnf/iamidle.c
  * contrib/hbnf/fttext.c
  * contrib/hbnf/setkeys.c
  * contrib/hbnf/ftisprn.c
  * contrib/hbnf/setlastk.c
  * contrib/hbcurl/hbcurl.c
  * contrib/hbcurl/hbcurl.ch
  * contrib/hbcurl/hbcurlm.c
  * contrib/rddads/adsextrn.ch
  * contrib/rddads/adsmgmnt.c
  * contrib/hbmisc/strfmt.c
  * contrib/hbmisc/numtxthu.prg
  * contrib/hbmisc/doc/en/ht_str.txt
  * contrib/hbtip/utils.c
  * contrib/hbwin/win_reg.prg
  * contrib/hbwin/legacyc.c
  * contrib/hbwin/win_misc.c
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/wapi_winuser.c
  * contrib/hbwin/hbwinole.h
  * contrib/hbwin/hbwin.ch
  * contrib/hbwin/tests/testdll.prg
  * contrib/hbwin/tests/testole.prg
  * contrib/hbwin/win_regc.c
  * contrib/hbvpdf/hbvpsup.prg
  * contrib/hbssl/sslsess.c
  * contrib/hbssl/hbssl.h
  * contrib/hbssl/sslctx.c
  * contrib/hbssl/tests/test.prg
  * contrib/hbssl/ssl.c
  * contrib/hbssl/hbssl.ch
  * contrib/hbssl/sslciph.c
  * contrib/hbssl/sslrand.c
  * contrib/hbcrypt/tests/testsha2.prg
  * contrib/hbcrypt/hbsha2.c
  * contrib/hbcrypt/hbsha2hm.c
  * source/lang/msghuiso.c
  * source/lang/msghuwin.c
  * source/lang/msgro.c
  * source/lang/msghriso.c
  * source/lang/msghrwin.c
  * source/lang/msghe862.c
  * source/lang/msgcskam.c
  * source/lang/msgbgiso.c
  * source/lang/msgbgwin.c
  * source/lang/msgcs852.c
  * source/lang/msgfr.c
  * source/lang/msgis850.c
  * source/lang/msghu852.c
  * source/lang/msgbg866.c
  * source/lang/msghr852.c
  * source/lang/msghewin.c
  * source/lang/msghucwi.c
  * source/lang/msgcsiso.c
  * source/lang/msgcswin.c
  * source/vm/harbinit.prg
  * source/vm/asort.c
  * source/vm/itemapi.c
  * source/vm/hvm.c
  * source/vm/cmdarg.c
  * source/vm/arrays.c
  * source/vm/fm.c
  * source/vm/extrap.c
  * source/vm/proc.c
  * source/vm/memvars.c
  * source/vm/memvclip.c
  * source/vm/main.c
  * source/vm/eval.c
  * source/vm/extend.c
  * source/vm/set.c
  * source/vm/classes.c
  * source/common/hbver.c
  * source/common/hbfsapi.c
  * source/common/hbstr.c
  * source/common/hbdate.c
  * source/rtl/lennum.c
  * source/rtl/gtdos/gtdos.c
  * source/rtl/diskspac.c
  * source/rtl/setposbs.c
  * source/rtl/mousehb.c
  * source/rtl/console.c
  * source/rtl/fscopy.c
  * source/rtl/gtwin/gtwin.c
  * source/rtl/mousex.c
  * source/rtl/philes.c
  * source/rtl/adir.prg
  * source/rtl/oldclear.c
  * source/rtl/tbcolumn.prg
  * source/rtl/hbgtcore.c
  * source/rtl/fieldbl.prg
  * source/rtl/dirdrive.c
  * source/rtl/dateshb.c
  * source/rtl/philesx.c
  * source/rtl/fnsplit.c
  * source/rtl/box.c
  * source/rtl/datesx.c
  * source/rtl/filehb.c
  * source/rtl/hbfile.c
  * source/rtl/gtapiu.c
  * source/rtl/fstemp.c
  * source/rtl/accept.c
  * source/rtl/radiobhb.prg
  * source/rtl/tgethb.prg
  * source/rtl/oemansix.c
  * source/rtl/strmatch.c
  * source/rtl/readkey.prg
  * source/rtl/ampm.c
  * source/rtl/oemansi.c
  * source/rtl/xsavescr.c
  * source/rtl/gtstd/gtstd.c
  * source/rtl/gtsln/mousesln.c
  * source/rtl/disksphb.c
  * source/rtl/xhelp.c
  * source/rtl/getlist.prg
  * source/rtl/net.c
  * source/rtl/hbntos.c
  * source/rtl/tgetx.prg
  * source/rtl/samples.c
  * source/rtl/idlex.c
  * source/rtl/tget.prg
  * source/rtl/alert.prg
  * source/rtl/inkey.c
  * source/rtl/gete.c
  * source/rtl/readvar.prg
  * source/rtl/fkmax.c
  * source/rtl/strzero.c
  * source/rtl/typefilx.prg
  * source/rtl/langapi.c
  * source/rtl/word.c
  * source/rtl/gtcgi/gtcgi.c
  * source/rtl/fmhb.c
  * source/rtl/natmsgu.c
  * source/rtl/errapi.c
  * source/rtl/version.c
  * source/rtl/natmsg.c
  * source/rtl/mouse53.c
  * source/rtl/errint.c
  * source/rtl/fssize.c
  * source/rtl/errapiu.c
  * source/rtl/colorind.c
  * source/rtl/gt.c
  * source/rtl/gx.c
  * source/rtl/binnumx.c
  * source/rtl/mouseapi.c
  * source/rtl/soundex.c
  * source/rtl/memofile.c
  * source/rtl/errintlo.c
  * source/rtl/hbffind.c
  * source/rtl/gtapi.c
  * source/rtl/pad.c
  * source/rtl/hbstrsh.c
  * source/rtl/filesys.c
  * source/rtl/file.c
  * source/rtl/lang.c
  * source/rtl/val.c
  * source/rtl/isprint.c
  * source/rtl/tbrowse.prg
  * source/codepage/ucmacce.c
  * source/codepage/uc885910.c
  * source/codepage/ucmacice.c
  * source/codepage/uc885914.c
  * source/codepage/uc874.c
  * source/codepage/cpes850.c
  * source/codepage/uc1258.c
  * source/codepage/cphu852.c
  * source/codepage/cpsk852.c
  * source/codepage/uc424.c
  * source/codepage/ucmacrom.c
  * source/codepage/uc862.c
  * source/codepage/cpesisoc.c
  * source/codepage/cpbg866.c
  * source/codepage/cphu852s.c
  * source/codepage/uc8859_3.c
  * source/codepage/uc8859_7.c
  * source/codepage/ucmacgrk.c
  * source/codepage/uc037.c
  * source/codepage/cpesiso.c
  * source/codepage/uc885911.c
  * source/codepage/uc885915.c
  * source/codepage/uc875.c
  * source/codepage/uc1255.c
  * source/codepage/cphuisos.c
  * source/codepage/cpfriso.c
  * source/codepage/uc863.c
  * source/codepage/cpfrwin.c
  * source/codepage/uc1026.c
  * source/codepage/cpbgiso.c
  * source/codepage/uc8859_4.c
  * source/codepage/cpskkam.c
  * source/codepage/cpbgwin.c
  * source/codepage/uc8859_8.c
  * source/codepage/uc855.c
  * source/codepage/uc885916.c
  * source/codepage/cproiso.c
  * source/codepage/ucascii.c
  * source/codepage/cprowin.c
  * source/codepage/uc1256.c
  * source/codepage/ucatari.c
  * source/codepage/uc860.c
  * source/codepage/ucmaccyr.c
  * source/codepage/uc864.c
  * source/codepage/uc1006.c
  * source/codepage/cpsviso.c
  * source/codepage/uc8859_5.c
  * source/codepage/uc8859_9.c
  * source/codepage/cphuwins.c
  * source/codepage/ucnext.c
  * source/codepage/ucmactrk.c
  * source/codepage/uc885913.c
  * source/codepage/cphuiso.c
  * source/codepage/uc775.c
  * source/codepage/uc856.c
  * source/codepage/cpskiso.c
  * source/codepage/cphuwin.c
  * source/codepage/cpskwin.c
  * source/codepage/uc500.c
  * source/codepage/cpro852.c
  * source/codepage/uc861.c
  * source/codepage/uc865.c
  * source/codepage/cpitwin.c
  * source/codepage/uc869.c
  * source/codepage/uc8859_6.c
  * source/rdd/dbjoinx.prg
  * source/rdd/dbnubs.c
  * source/rdd/dblistx.prg
  * source/rdd/dbtotalx.prg
  * source/rdd/dbstruxx.prg
  * source/rdd/dbsortx.prg
  * source/rdd/dbupdatx.prg
  * source/rdd/dbfuncsx.prg
  * source/rdd/dbcmdhb.c
  * source/compiler/cmdcheck.c
  * source/compiler/hbusage.c
  * source/hbzlib/ChangeLog
  * utils/hbmk2/hbmk2.prg
  * utils/hbtest/rt_main.h
  * utils/hbtest/hbtest.prg
  * utils/hbtest/rt_main.ch
  * utils/hbtest/rt_trans.prg
  * utils/hbtest/rt_miscc.c
  * utils/hbtest/rt_math.prg
  * utils/hbtest/rt_hvm.prg
  * utils/hbtest/rt_hvma.prg
  * utils/hbtest/rt_misc.prg
  * utils/hbtest/make_c5x.bat
  * utils/hbtest/rt_init.ch
  * utils/hbtest/rt_str.prg
  * utils/hbtest/rt_stra.prg
  * utils/hbtest/rt_date.prg
  * utils/hbtest/rt_vars.ch
  * utils/hbtest/rt_array.prg
  * utils/hbtest/rt_file.prg
  * examples/pp/hbppcore.c
  * examples/superlib/hbsuper.prg
    * My e-mail address corrected to the same one using the
      same format in all files. Corrected mistyped ones.
2009-06-03 10:26:40 +00:00
Viktor Szakats
622639c23c 2009-05-15 09:21 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* utils/hbmk2/hbmk2.prg
    + Using HB_USERLANG() to detect language, so it now also
      works on Windows.
    + Added support for -lang= switch to override language.
    + Added support for HB_LANG envvar to override language.
      (this is the recommended method)

  * include/hbextern.ch
  * source/rtl/Makefile
  + source/rtl/lang.c
    + Added HB_USERLANG() function to retrieve ietf code of
      language set by user. Works also on Windows.

  * contrib/hbwin/win_misc.c
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/wapi_winuser.c
    * WAPI_*() functions moved to wapi_* files.
    + WAPI_GETPROCADDRESS() added. This is a pure wrapper to
      this Windows API.

  * contrib/hbwin/win_prn1.c
  * contrib/hbwin/win_prt.c
    % hb_parnl() -> hb_parni() where it was cast to int anyway.
2009-05-15 07:40:39 +00:00
Viktor Szakats
e18f4f39db 2009-05-14 20:08 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* contrib/hbwin/legacy.c
    + Added old MESSAGEBOX() call.

  * contrib/hbwin/win_misc.c
    * WAPI_MESSAGEBOX() now accepts pointer only.
    + WAPI_LOADLIBRARY() added, pointer based only.
    + WAPI_FREELIBRARY() added, pointer based only.
    + WIN_N2P() added to convert numeric pointers to real pointers.
    + WIN_P2N() added to convert real pointers to numeric ones.
      I know this is a hack but it's IMO better than embedding the
      conversion logic to all functions, and makes it possible to
      "bridge" this parameter passing difference between existing
      apps/libs and our developing Windows API layer.
      So f.e. 3rd party app may switch to our new API, while
      keeping some parts of his local code intact by using:
      WAPI_MESSAGEBOX( WIN_N2P( MYWINFUNC_RETURNING_A_NUMHND() ), "hello", "world", MB_OK )
      Later after doing local fixes this can be changed to:
      WAPI_MESSAGEBOX( MYWINFUNC_PROPER(), "hello", "world", MB_OK )

  * contrib/hbwin/win_dll.c
    * Changed stub order for DLLLOAD()/LOADLIBRARY(),
      DLLUNLOAD()/FREELIBRARY(), so that it workd if XBase++ parts 
      are disabled.
2009-05-14 18:11:14 +00:00
Viktor Szakats
9b3e957cc6 2009-05-14 12:18 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* contrib/hbwin/tests/testdll.prg
  * contrib/hbwin/win_dll.c
    + DLLPREPARECALL() will now accept pointer type as dll handle.
    + DLLLOAD() will now return pointer type, instead of numeric pointer.
      May be incompatible if the value is used outside the scope of hbwin lib.
    + DLLUNLOAD() will now accept pointer type for dll handle.
    + DLLUNLOAD() will now gracefully fail if non pointer or numeric param 
      is passed.
    + DLLCALL() will now accept pointer type for dll handle.
    + GETPROCADDRESS() will now accept pointer type for dll handle.
    ; TODO: Remove compatibility with numeric pointers.

  * contrib/hbwin/win_misc.c
    * WIN_SHELLEXECUTE() no longer accepts numeric pointers 
      as optional first parameter. Use pointers instead.
2009-05-14 10:18:55 +00:00
Viktor Szakats
0d94d15d16 2009-05-13 16:47 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* contrib/hbwin/Makefile
  + contrib/hbwin/legacy.c
    + Added deprecated compatibility wrappers:
      MESSAGEBOX(), ANSITOWIDE(), WIDETOANSI(), OLE2TXTERROR().
    + Added deprecated compatibility wrapper TOLEAUTO for HB_OLEAUTO
      class. This is probably not enough as there are other remaining
      incompatibilities.
    ; TODO: users needing this please tweak it further.
    + Added deprecated compatibility wrapper hb_oleWideToAnsi(), which
      now calls hb_mbtowc(). Not fully compatible for error cases, old
      one could return NULL in some cases.
    ; TODO: Switch to hb_mbntowc().
    + Added deprecated compatibility wrapper hb_oleAnsiToWide(), which
      now calls hb_wctomb(). Not fully compatible for error cases, old
      one could return NULL in some cases.
    ; TODO: Switch to hb_wcntomb().

  * contrib/hbwin/win_misc.c
    + Added WAPI_MESSAGEBOX()
    + Added WIN_ANSITOWIDE() (rewritten using common API. Please check.)
    + Added WIN_WIDETOANSI() (rewritten using common API. Please check.)
    ; NOTE: ANSI/WIDE conversions aren't 100% compatible for error
            situations and empty strings. Old version could return NIL
            in certain situations.

  ; None of these were tested besides successful compile.
2009-05-13 14:49:08 +00:00
Viktor Szakats
350298f3d1 2009-03-13 01:16 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* contrib/hbgf/hbgfwin/winapi.c
    * Formatting.

  * contrib/hbwin/win_misc.c
    ! Fixed WIN_SHELLEXECUTE() for WinCE (converted to stub).
    ! Fixed WIN_RUNDETACHED() to compile with WinCE (4th parameter
      is ignored and fixed to CREATE_NEW_CONSOLE).

  * contrib/hbwin/win_regc.c
    ! HKEY_CURRENT_CONFIG disabled for WinCE builds.

  * source/rtl/gtwvt/gtwvt.c
    ! Complete "layered" window support disabled for WinCE builds.
2009-03-13 00:16:46 +00:00
Viktor Szakats
7bdb1a9ea4 2009-02-26 10:24 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* bin/hb-mkdyn.bat
    + Moving .lib and .exp (if they are generated) files
      to LIB dir.

  * source/vm/maindllp.c
    + Added owatcom flavour of .dll name.

  * contrib/hbwin/win_misc.c
    + Added WAPI_GETLASTERROR(), WAPI_SETLASTERROR(), WAPI_SETERRORMODE().

  * utils/hbmk2/hbmk2.prg
    + Added TODO to create temp .c files in temp location.
      Looks this can create a few problems (-hbcc, .ppo output
      location when -p is used by user).
    + '/o' flavour of -o option is now ignored on non-*nix
      systems to make sure users cannot mess up the hbmk process
      flow.
    * -o option modified to reset any previous explicit -o settings.
    * Some minor internal renames, comments.
    + Added new hbmk.cfg / .hbp option: 'shareddef='. This can
      change the default state of shared/static setting, so it
      can be used by installers or user to override default
      behaviour. NOTE: HB_SHARED envvar can also be used.
    * Changed hbmk.cfg lookup preferences to this:
      1. $HOME/.harbour
      2. /etc/harbour
      3. <hbmkdir>/../etc/harbour
      4. <hbmkdir>/../etc
      5. <hbmkdir>
      (NOTE: I've deleted /etc as etc/harbour seems superior
             and we already store a .def file there.
             I've also deleted /usr/local/etc)
2009-02-26 09:25:29 +00:00
Viktor Szakats
c516ba2778 2009-02-18 23:34 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* contrib/hbole/ole2.c
  * contrib/hbwin/win_ole.c
  * contrib/hbwin/win_misc.c
  * contrib/hbwin/win_prn1.c
    ! Fixed Open Watcom 1.8 related warnings/errors.
2009-02-18 22:35:06 +00:00
Viktor Szakats
409012d5e6 2009-02-18 02:03 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* utils/hbmk/hbmk2.prg
    ! Fixed not recognising hbp lines if the filter was at BOL.
    ! Two minor fixes.

  * utils/hbmk/examples/xbgtk.hbp
    + Added cflags, it was already supported, just forgot about it.

  * contrib/hbblat/tests/hbblat.hbp
  * contrib/hbblat/tests/blatcmd.prg
    % Using WIN_GETCOMMANDLINEPARAM().

  * contrib/hbwin/win_misc.c
  * contrib/hbwin/tests/testreg.prg
    + Added WIN_GETCOMMANDLINEPARAM().
      Similar to WAPI_GETCOMMANDLINE() but returns
      only the parameter part. Handles UNICODE,
      _SET_OSCODEPAGE and appnames with spaces.

  * contrib/hbwin/tests/hbwin.hbp
    ! Fixed to include shell32 lib.

  * contrib/hbwin/Makefile
  * contrib/hbwin/common.mak
  + contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/tests/testreg.prg
    + Added WAPI_GETCOMMANDLINE().
      With UNICODE and _SET_OSCODEPAGE support.

  * ChangeLog
    * TOFIX (hb_cmdline()) marked as POSTPONED with explanation.
2009-02-18 01:06:57 +00:00
Viktor Szakats
6be48dbd67 2009-02-04 09:49 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* contrib/hbwin/win_tprn.prg
    * Formatting.

  * contrib/hbwin/win_prn1.c
  * contrib/hbwin/win_prn2.c
    * Cleanups, formatting.
    + Added WIN_ABORTDOC()
      (Windows API compatible equivalent of WIN_ENDDOC( .T. ))

  * contrib/hbwin/win_misc.c
    ! Fixed returning handle from WIN_RUNDETACHED().

  * contrib/hbwin/tests/testprn.prg
    ! Fix to prev commit.
2009-02-04 08:49:22 +00:00
Viktor Szakats
1d13959a7b 2009-02-04 01:09 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* include/extend.api
  * include/hbgtcore.h
  * include/hbwince.h
  * include/hbthread.h
  * include/hbdefs.h
  * include/hbsetup.h
  * include/hbapi.h
  * include/clipdefs.h
  * include/hbatomic.h
  * contrib/hbmysql/mysql.c
  * contrib/hbct/ctnet.c
  * contrib/hbct/files.c
  * contrib/hbct/dattime3.c
  * contrib/hbct/disk.c
  * contrib/hbodbc/odbc.c
  * contrib/xhb/hboutdbg.c
  * contrib/xhb/hbsyslog.c
  * contrib/xhb/filestat.c
  * contrib/hbmsql/msql.c
  * contrib/hbole/ole2.c
  * contrib/hbmzip/hbmzip.c
  * contrib/hbapollo/apollo.c
  * contrib/hbfbird/firebird.c
  * contrib/hbnf/descendn.c
  * contrib/hbnf/getenvrn.c
  * contrib/rddsql/sqlmix.c
  * contrib/gtwvg/gtwvg.c
  * contrib/gtwvg/wvggui.c
  * contrib/gtwvg/wvgwin.c
  * contrib/gtwvg/wvgutils.c
  * contrib/gtwvg/wvgcore.c
  * contrib/rddads/adsx.c
  * contrib/rddads/rddads.h
  * contrib/rddads/adsmgmnt.c
  * contrib/rddads/adsfunc.c
  * contrib/rddads/ads1.c
  * contrib/hbfimage/fi_winfu.c
  * contrib/hbfimage/fi_wrp.c
  * contrib/hbgd/gd.ch
  * contrib/hbgd/gdwrp.c
  * contrib/hbgf/hbgfwin/winapi.c
  * contrib/hbtip/utils.c
  * contrib/hbtip/ChangeLog
  * contrib/hbwin/win_prn2.c
  * contrib/hbwin/win_osc.c
  * contrib/hbwin/win_misc.c
  * contrib/hbwin/win_prt.c
  * contrib/hbwin/win_dll.c
  * contrib/hbwin/win_ole.c
  * contrib/hbwin/win_prn1.c
  * contrib/hbwin/win_regc.c
  * contrib/hbssl/sslsess.c
  * contrib/hbssl/sslrand.c
  * contrib/hbwhat/whtdate.c
  * contrib/hbwhat/whtini.c
  * contrib/hbwhat/whtcret.c
  * contrib/hbwhat/whthead.c
  * contrib/hbwhat/whtilst.c
  * contrib/hbwhat/whtreg.c
  * contrib/hbwhat/whtclpb.c
  * contrib/hbwhat/whtmous.c
  * contrib/hbwhat/whtrgn.c
  * contrib/hbwhat/whtmeta.c
  * contrib/hbwhat/whttbar.c
  * contrib/hbwhat/whtrect.c
  * contrib/hbwhat/whtbrsh.c
  * contrib/hbwhat/whtgdi.c
  * contrib/hbwhat/whtdlg.c
  * contrib/hbwhat/whtview.c
  * contrib/hbwhat/whtsys.c
  * contrib/hbwhat/whtmain.c
  * contrib/hbwhat/whtwnd.c
  * contrib/hbwhat/whtmmcap.c
  * contrib/hbwhat/whtfont.c
  * contrib/hbwhat/whtdir.c
  * contrib/hbwhat/whtbmp.c
  * contrib/hbwhat/whtkbrd.c
  * contrib/hbwhat/whtpen.c
  * contrib/hbwhat/whttext.c
  * contrib/hbwhat/whtdc.c
  * contrib/hbwhat/whtdraw.c
  * contrib/examples/uhttpd/socket.c
  * contrib/examples/uhttpd/uhttpdc.c
  * source/vm/mainwin.c
  * source/vm/maindll.c
  * source/vm/maindllh.c
  * source/vm/hvm.c
  * source/vm/cmdarg.c
  * source/vm/maindllp.c
  * source/vm/fm.c
  * source/vm/extrap.c
  * source/vm/thread.c
  * source/vm/dynlibhb.c
  * source/vm/set.c
  * source/common/hbgete.c
  * source/common/hbver.c
  * source/common/hbfsapi.c
  * source/common/hbwince.c
  * source/common/hbdate.c
  * source/rtl/diskspac.c
  * source/rtl/console.c
  * source/rtl/gtwin/gtwin.c
  * source/rtl/fserror.c
  * source/rtl/hbgtcore.c
  * source/rtl/gtclip.c
  * source/rtl/fstemp.c
  * source/rtl/idle.c
  * source/rtl/oemansi.c
  * source/rtl/disksphb.c
  * source/rtl/net.c
  * source/rtl/gtgui/gtgui.c
  * source/rtl/seconds.c
  * source/rtl/gttone.c
  * source/rtl/hbproces.c
  * source/rtl/gtkeycod.c
  * source/rtl/version.c
  * source/rtl/gtwvt/gtwvt.c
  * source/rtl/hbrandom.c
  * source/rtl/hbinet.c
  * source/rtl/hbffind.c
  * source/rtl/gtsys.c
  * source/rtl/filesys.c
  * source/rtl/gtkbstat.c
  * source/rtl/isprint.c
  * source/compiler/cmdcheck.c
  * utils/hbmake/hbmlang.c
    * #defines renamed to be bitwidth-independent.
      - HB_OS_WIN_32_USED -> HB_OS_WIN_USED
      - HB_OS_WIN_32      -> HB_OS_WIN
    ; Please modify your code accordingly.

  * include/hbdefs.h
  * include/hbsetup.h
    + Added compatibility to still understand HB_OS_WIN_32_USED,
      and to #define HB_OS_WIN_32 in addition to HB_OS_WIN.
      This means that old code will still work, but these
      compatibility features will be removed in the future,
      so it's recommended to change the code as above.
2009-02-04 00:18:56 +00:00
Viktor Szakats
1e62fb550e 2009-01-14 16:15 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/net.c
  * contrib/hbziparc/hbziparc.prg
  * contrib/hbct/files.c
    * Minor formatting.

  * source/rtl/gtxwc/gtxwc.c
    ! Fix to recent fix. An '!' was missing, Przemek pls check me.

  * source/rtl/philes.c
    + HB_PROGNAME() now returns absolute path in *NIX systems, too.
      (please test and refine)

  * source/lang/msgca.c
    ! Fixes from xhb.

  * contrib/hbziparc/hbziparc.prg
    * Minor correction ( = -> := )

  * source/rtl/gtwin/gtwin.c
    + Added HB_GTI_CODEPAGE support.
      As per MS docs, this works only when non-raster font is used
      in the console window. Notice that the accepted CP values are
      different from the GTWVT ones (GTWIN being the more "logical"
      one, since it's a newer API). Currently, Harbour doesn't try
      to hide these interface details.
    ; TODO: UNICODE and BOX char support for GTWIN mode.

  * source/rtl/tbrowse.prg
    * Using HB_DISPOUTATBOX() to draw column/header/footer separators.
    ; NOTE: This may cause problems if someone wants to use native
            CP (accented or other special CP specific) chars to draw
            these screen elements. Maybe an option should be added,
            or some sort of markings in the separator strings to
            control that.
            Pls REVIEW.

  * include/hbextern.ch
  * source/rtl/console.c
    + Added HB_DISPOUTATBOX() which is similar to HB_DISPOUTAT(),
      but marks the text drawn as HB_GT_ATTR_BOX, so these chars
      can be properly displayed as drawing chars, regardless of
      the selected codepage. Another difference is that this
      function only supports strings to be printed. Other types
      don't print anything.
    ; NOTE: Maybe this function could use a better name, pls
            review and decide.

  * source/rtl/gtwvt/gtwvt.c
  * source/rtl/gtwvt/gtwvt.h
    ! Fixed not accepting zero as a HB_GTI_CODEPAGE value.
    ! Fixed HB_GTI_CODEPAGE to change the codepage.
    + Added box char support in Unicode mode.
      For chars marked as HB_GT_ATTR_BOX, chars will be
      mapped to Unicode according to CP437.
    + Added box char support in non-Unicode mode.
      For chars marked as HB_GT_ATTR_BOX, OEM_CHARSET will
      always be used.
    ; NOTE: This way it's possible to use ISO/WIN codepages with
            GTWVT, while still being able to use various drawing
            chars (lines, blocks, arrows).
    ; NOTE: The available set of drawing chars depends on the
            OS OEM_CHARSET mapping _for non-Unicode Harbour_.
            For Unicode Harbour, full CP437 codepage is
            always available.
    ; NOTE: This solution doesn't go as far as (GTWXC) to
            graphically draw / emulate these chars.
    ; TODO: Add HB_GTI_BOXCP support to change hard-wired "EN" CP.

  * include/hbapigt.h
  * include/hbgtcore.h
    ! Moved HB_GT_ATTR_* macros to public headers, because they
      are needed for public API functions.

  * contrib/hbwin/win_reg.prg
    + w32_regRead(): Added second parameter to specify the default
      value returned in case the reg entry doesn't exist.
      If not specified, NIL will be returned, just like before.
    + GetRegistry(): Added 4th parameter with same purpose as above.

  * source/rtl/hbregex.c
    * Minor opt.

  * contrib/hbwin/win_misc.c
    * Added command line option parameter to WIN_RUNDETACHED().

  * include/hbapi.h
    + HB_ERRCODE (to replace ERRCODE)
    + HB_SUCCESS (to replace SUCCESS)
    + HB_FAILURE (to replace FAILURE)

  + contrib/hbwin/win_misc.c
  * contrib/hbwin/common.mak
  * contrib/hbwin/Makefile
    + WIN_SHELLEXECUTE()
      WIN_RUNDETACHED()
      WIN_LOADRESOURCE()
      Added some new Windows API wrappers.
    ; TODO: Add hb_osEncode() to them.

  * source/rtl/diskspac.c
  * source/rtl/disksphb.c
    ! Fixed DISKSPACE() and HB_DISKSPACE() for Darwin.
      Previously they had returned erroneous values.
    ; TOFIX: Probably HB_DISKSPACE() should be implemented for Watcom and CEGCC,
             just like DISKSPACE() is.

  * source/rtl/filesys.c
    ! hb_fsGetAttr() to set the returned attribute to zero
      in case of error.

  * include/hbextern.ch
  * source/rtl/philes.c
    + HB_FSETATTR( <cFileName>, @<nAttr> ) -> <lSuccess>
    + HB_FGETATTR( <cFileName>, <nAttr> ) -> <lSuccess>
    + HB_FSETDATETIME( <cFileName>, [<dDate>], [<cTime HH:MM:SS>] ) -> <lSuccess>

  * source/rtl/direct.c
    ! Fixed DIRECTORY() when called with "V" (label) parameter.
      Tested under Windows. Please test/correct for other platforms.
      On Windows, the dirspec should not contain a filemask in order
      to work.

  * contrib/hbtip/base64x.c
    % HB_BASE64(): Optimized, cleaned.
    ! HB_BASE64(): Removed second parameter allowing to pass the length of
      the string. This could cause GPF if passed incorrectly. Now length
      is simply determined using hb_parclen().
    ; TOFIX: Input string size limit checking.

  * include/hbdefs.h
    + HB_SIZEOFARRAY() macro, which does: ( sizeof( var ) / sizeof( *var ) )
      To be really precise, f.e. all hb_strncpy() calls should use
      'hb_strncpy( d, s, HB_SIZEOFARRAY( d ) );' instead of:
      'hb_strncpy( d, s, sizeof( d ) );' (given that 'd' is allocated at compile time).
      So that the code adapts to changing character sizes (like UTF-16/32).
      It's useful in some other places, too.

  * contrib/hbct/dattime2.c
    * 0 -> FALSE for BOOL types.

  * include/hbextern.ch
  * source/rtl/strmatch.c
    + HB_WILDMATCHI(). Case-instenstive, exact match. First
      two parameters and return value are the same as for
      HB_WILDMATCH().

  * include/hbextern.ch
  * source/rtl/cdpapi.c
    + HB_CDPSELECT() which does the same as HB_SETCODEPAGE(), but
      aligns well with function naming rules and namespace.
      HB_SETCODEPAGE() still works, but usage is not recommended.
    + Added HB_CDPUNIID( <cHarbourCP> ) -> <cCPName>
      This will return the std CP ID of a Harbour CP, or empty
      if the Harbour CP isn't linked.

  * include/hbapi.h
  * source/rtl/is.c
    ! Fixed compile error when HB_CDP_SUPPORT_OFF is defined.
    + Added following functions:
      hb_charIsDigit()
      hb_charIsAlpha()
      hb_charIsLower()
      hb_charIsUpper()

  * include/hbapi.h
    - hb_strUpperCopy() removed. Implementation was missing.

  * source/rtl/strcase.c
    * Minor formatting.

  * source/rtl/filesys.c
    ! hb_fsCurDirBuff() fixed potential buffer overrun by one byte.

  * source/rtl/hbrunfun.c
  * source/rtl/run.c
    ! Fixed missing header hbapiitm.h (after previous local change).

  * include/hbapi.h
  * include/hbset.h
  * include/hbapifs.h
  * include/set.ch
  * source/rtl/hbffind.c
  * source/rtl/gete.c
  * source/rtl/filesys.c
  * source/rtl/hbrunfun.c
  * source/rtl/run.c
  * source/rtl/philes.c
  * source/vm/set.c
  * source/vm/cmdarg.c
    + Added file system CP translation.
      Set( _SET_FNAMECP[, <cCPID> ] ) -> <cOldCPID>
      All operations passing filenames to/from the
      OS will convert them to/from the host CP from/to
      the FS CP specified using _SET_FNAMECP.
    * hb_fsNameConv() extended to deal with CP
      conversion, if requested by the app.
    + hb_fsNameConvFrom() (exported) added to deal
      with CP conversions for filenames received from OS.
    + hb_fsNameConvTo() (exported) added to deal
      with CP conversions for filenames/string sent to the OS.
    + Added hb_setGetFNAMECP() (exported) function.
    + Added hb_setGetFileCPTransTo(), hb_setGetFileCPTransFrom()
      (non-exported) functions.
    + hb_fsCurDirBuff() and hb_fsFindNextLow() extended
      to use hb_fsNameConvFrom().
    + Added hb_fsBaseDirBuff() to return the base
      directory on the C level (based on argv[0]).
    + Added HB_PROGNAME() to return the executable
      program name (based on argv[0]).
    + Added HB_DIRBASE() to return the executable
      base directory (based on argv[0]).
    * Renames done regarding OS/FS CP conversion:
      hb_fsNameConvFrom()        -> hb_osDecode()
      hb_fsNameConvTo()          -> hb_osEncode()
      hb_setGetFileCPTransTo()   -> -
      hb_setGetFileCPTransFrom() -> -
      hb_setGetFNAMECP()         -> hb_setGetOSCODEPAGE()
      _SET_FNAMECP               -> _SET_OSCODEPAGE
    * hb_osDecode()/hb_osEncode() extended to have a second
      parameter BOOL * fFree.
       Changed all calls to handle the case when fFree is set
      to TRUE by hb_osDecode()/hb_osEncode().
    + HB_GETENV(): Added 3rd logical parameter to control wether
      to convert the returned value from OS CP to Harbour CP.
      The default is TRUE to be in sync with GETE[NV]() and the
      rest of core.
    * hb_fsNameConv() is now doing OS CP conversion using std APIs,
      rather than duplicating such logic. I've traded some speed
      for modularity.
    * hb_osDecode/hb_osEncode() function declarations moved to hbapi.h
    * hb_osDecode/hb_osEncode() function definitions moved to set.c
    ; NOTE: None of these were extensively tested, and I tend
            to make mistakes when dealing with pointers.
            It compiles cleanly with BCC, and some basic tests
            worked, but bFree = TRUE codepaths are not yet
            working so this needs more review.

  * source/rtl/teditor.prg
  * source/rtl/tpersist.prg
  * utils/hbmake/hbmake.prg
    * MemoRead() -> hb_MemoRead()

  * contrib/hbct/files.c
    ; TOFIX: Many functions here are possibly not thread safe.
    ; TOFIX: Calling hb_fsFindClose() at app exit (and thus keeping
             the FF handles open for the whole app lifetime) doesn't
             play well with server side apps (as the app may run for
             months or even longer), and even worse, they
             will lock the passed directory so that they cannot be
             removed (maybe even renamed), until the app exists.
             At least on Windows.

  * source/rtl/dirdrive.c
    ! Fixed to use F_ERROR instead of -1.

  * include/hbextern.ch
    ! Added missing HB_GCSTEP().

  * source/vm/extrap.c
    + Added CPU dump code for Windows x64.
    + Enabled module listing for Windows 64-bit platforms.
    % Minor cleanup in Windows x86 CPU dump code.
    + Added TODO for Windows IA64 CPU dump.
    + Added TODO for Windows x64 stack walk, with pointers.
    + Added TOFIX regarding displaying module names in Windows x64 mode.

  * source/rtl/fstemp.c
    ! Minor formatting.

  * source/rtl/gete.c
  * source/rtl/run.c
  * source/rtl/hbrunfun.c
  * source/vm/cmdarg.c
    + Added CP conversion to:
      GETE[NV](), HB_GETENV(), __RUN(), HB_RUN(),
      HB_ARGSTRING(), HB_CMDLINE().

  ; TODO: dbCreateTemp( <cAlias>, <aStruct>, <cRDD>, <cDelimArg>, <nConnection> ) -> <lSuccess>
          Generates and opens a new dbf with a temporary filename
          in exclusive mode, deletes it automatically when closed.
          All indexes created for this table, should ideally have
          the temporary flag on, so those get deleted too, when closed.

  ; TOFIX: hb_regex*() functions will not honor Harbour CP setting,
           when case insensitivity is selected.

  ; TOFIX: hbct / SetFDaTi() to move any local logic into Harbour core
           functions and use a simple Harbour API call only.
           I'm not sure what is the reason with keeping the logic
           duplicated here; if this isn't by intent, this function
           could be much simplified.

  ; TOFIX: Avoid using C level toupper()/tolower()/islower()/isupper()

  ; TOFIX: hb_regexMatch()'s 3rd parameter has a double meaning.
           It controls case-sensitivity (in sync with the documentation),
           but it also controls if hb_regexMatch() behaves like
           hb_regexLike() (.T.), or hb_regexHas() (.F.). This means
           that hb_regexMatch(,, .T.) == hb_regexLike(,, .T.) (case-sensitive) and
                hb_regexMatch(,, .F.) == hb_regexHas(,, .F.) (case-insensitive)
           Maybe this was the intent of the original developers, but
           to me it looks a rather strange behaviour which was added by
           accidentally forgetting about the 3rd parameter already being
           utilized. This either needs to be fixed, or properly documented.

  ; NOTE: Noteworthy links:
          http://docs.python.org/3.0/whatsnew/3.0.html
            - Unicode/text section
            - Removed <> (use != instead)
          http://sphinx.pocoo.org/
            - Documentation format
          http://fredeaker.blogspot.com/2007/01/character-encoding-detection.html
            - Character encoding detection
2009-01-14 15:32:43 +00:00