Commit Graph

70 Commits

Author SHA1 Message Date
Mindaugas Kavaliauskas
8bb0bab87c 2009-11-13 14:28 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/src/rtl/hbi18n1.c
    ! fixed Lithuanian plural form index
2009-11-13 12:31:34 +00:00
Przemyslaw Czerpak
b7a1bda9c0 2009-11-10 18:24 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/tests/cpinfo.prg
  * harbour/include/hbapicdp.h
  * harbour/include/hbcdpreg.h
    * modified format used for CP definition using binary tables
    + added Latin character striping from non Latin based CPs
    * changed warning message to be more clear. In most of cases when
      this message is shown:
         Warning: irregular CP which needs verification for human
                  readable definition in Harbour
      it should be possible to create human non binary CP definition.
      Usually it should be enough to copy HB_CP_UPPER and HB_CP_LOWER
      strings and verify if final result are compatible by comparing
      automatically generated .c file with binary tables. If you will
      find some CPs where it's not compatible then please inform me
      about it and I'll try to update cpinfo.prg
      When this message is shown:
         Warning: irregular CP which needs special definition in Harbour
                  using binary tables generated by this program
      then binary tables have to be used to replicate exact CP conditions.
      If no warning message is shown then human readable form of CP
      definition can be used without (I hope ;)) additional verification.

  * harbour/src/codepage/cpno865.c
  * harbour/src/codepage/cpit850m.c
  * harbour/src/codepage/cpis850.c
  * harbour/src/codepage/cpfr850.c
  * harbour/src/codepage/cpes850c.c
  * harbour/src/codepage/cpsv850m.c
  * harbour/src/codepage/cpde850m.c
  * harbour/src/codepage/cppt860.c
  * harbour/src/codepage/cpnl850m.c
  * harbour/src/codepage/cpnl850.c
  * harbour/src/codepage/cpde850.c
  * harbour/src/codepage/cpfi850.c
  * harbour/src/codepage/cpit850.c
  * harbour/src/codepage/cpis861.c
  * harbour/src/codepage/cpes850m.c
  * harbour/src/codepage/cpfr850m.c
  * harbour/src/codepage/cpsv437c.c
  * harbour/src/codepage/cpdk865.c
  * harbour/src/codepage/cpgr437.c
    * updated for new format
2009-11-10 17:25:29 +00:00
Viktor Szakats
79764499f2 2009-11-10 16:55 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/codepage/cpit850m.c
  * src/codepage/cpde850m.c
  * src/codepage/cpsv850m.c
  * src/codepage/cpnl850m.c
  * src/codepage/cpes850m.c
  * src/codepage/cpfr850m.c
    ! Deleted Chr(26) EOL.

  * src/codepage/Makefile
  - src/codepage/cpgr851.c
  * include/hbextcdp.ch
    - Deleted this CP as we miss CP 851 definition.
2009-11-10 15:55:33 +00:00
Viktor Szakats
29d86ceea5 2009-11-10 15:25 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextcdp.ch
    * Updated to reflect recent couple of commits.

  * src/codepage/Makefile
  + src/codepage/cpit850m.c
  + src/codepage/cpde850m.c
  + src/codepage/cpsv850m.c
  + src/codepage/cpnl850m.c
  + src/codepage/cpes850m.c
  + src/codepage/cpfr850m.c
    + Added mdx*.obj compatible CPs, created by cpinfo.prg.
    ; TOFIX: I didn't added mdxuk and mdxusa, simply because 
             it cannot fit in current filename scheme, which 
             uses only two chars to denote language.
2009-11-10 14:29:32 +00:00
Viktor Szakats
6e88027684 2009-11-10 15:15 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/codepage/cpes850c.c
  * src/codepage/cpnl850.c
  * src/codepage/cpde850.c
  * src/codepage/cpfi850.c
  * src/codepage/cpit850.c
    ! Wrong CP in descriptions.
2009-11-10 14:15:53 +00:00
Viktor Szakats
66468dc258 2009-11-10 15:05 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* codepage/Makefile
  - codepage/cpesisoc.c
  - codepage/cpeswinc.c
    - Deletes ISO and Win pairs of ES850C.

  * codepage/Makefile
  + codepage/cpgr437.c
  + codepage/cpgr851.c
  + codepage/cpis850.c
  + codepage/cpis861.c
  + codepage/cpdk865.c
  + codepage/cpfi850.c
  + codepage/cpnl850.c
  + codepage/cpno865.c
  + codepage/cppt860.c
    + Added CPs generated via cpinfo.prg from ntx*.obj (C5.2e).
      For these language, I've only 'guessed' the CP assigment:
          cpdk865
          cpfi850
          cpnl850
          cpno865
          cppt860
      TOFIX: Any mistakes in above.

  * codepage/Makefile
  - codepage/cpsvclip.c
  + codepage/cpsv437c.c
    * Renamed to use naming scheme like all others.
    ; TOFIX: 437 is most certainly wrong CP assigment, and 
             it should probably be 850 or 865.

  * codepage/cpfr850.c
  * codepage/cpes850c.c
  * codepage/cpde850.c
  * codepage/cpit850.c
    * Replaced with versions generated by cpinfo.prg.

  ; TODO: cpinfo.prg isn't generating short format of CP source files, 
          so all above may need to be converted to it for better readability.
2009-11-10 14:11:46 +00:00
Przemyslaw Czerpak
24e09f396f 2009-11-10 13:34 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/tests/cpinfo.prg
    + added additional information that binary tables generated by cpinfo.prg
      have to be used instead of human readable form when such situation can
      be easy detected

  * harbour/src/codepage/cpsvclip.c
    * replaced old definition with binary tables generated by cpinfo.prg
      to fully replicate wrong Clipper NTXSWE.OBJ definition.
2009-11-10 12:34:49 +00:00
Mindaugas Kavaliauskas
e607a388df 2009-11-10 13:02 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/src/rtl/cdpapi.c
    * removed unnecessary assignment to pacify BCC warning
2009-11-10 11:01:54 +00:00
Przemyslaw Czerpak
afe718b590 2009-11-10 11:54 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbset.h
  * harbour/src/vm/set.c
    + added new C function hb_setGetOSCP()
2009-11-10 10:55:05 +00:00
Przemyslaw Czerpak
38029fd7c9 2009-11-10 09:43 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/codepage/cphu852c.c
    * converted to use human readable form which I think should better
      show what exactly Clipper's ntxhu852.obj does
2009-11-10 08:43:56 +00:00
Viktor Szakats
402ef31cf4 2009-11-10 09:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/codepage/cphu852.c
  + src/codepage/cphu852c.c
  - src/codepage/cphu852s.c
  * src/codepage/Makefile
  * include/hbextcdp.ch
    * Changed HU852 CP to be the same as HUISO and HUWIN.
      I kept the extra non-Hungarian char, which makes this CP 
      fully compatible with sixhu852.obj.
    + Added HU852C which is fully C5.2e compatible, this file 
      was generated by cpinfo using C5.2e Intl + ntxhu852.obj.
      This may fix some C5.2e incompatibilities that existed 
      in former HU852 CP.
    - Deleted HU852S, it's now called HU852.
    ; NOTE: Since there is no 'default' HU852 CP in Harbour I 
            find it ok to provide C5.2e compatible CP by the 
            name 'HU852C'. If this seems bothering to Hungarian 
            users in general, we may think out something.
2009-11-10 08:21:50 +00:00
Viktor Szakats
d7191fbbe1 2009-11-10 07:15 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/codepage/Makefile
  * include/hbextcdp.ch
    ! Deleted references to deleted CPs.
2009-11-10 06:16:15 +00:00
Viktor Szakats
f305183b75 2009-11-10 03:37 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
- src/codepage/cphuisos.c
  - src/codepage/cphuwins.c
    - Deleted these variants which are no longer needed.

  * src/codepage/cphuiso.c
  * src/codepage/cphuwin.c
    * Updated comments.
    ; TOFIX: Remove or not remove ASCII 196/228 char pair?
             It's not a Hungarian accented char, it was present 
             in sixhu852, but since we don't have any obligations
             to keep compatibility as the CP is different anyway, 
             maybe the best would be to clean it.
             What is the general opinion in this regard in Harbour?
2009-11-10 02:39:28 +00:00
Przemyslaw Czerpak
e14470365f 2009-11-10 02:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/cdpapi.c
  * harbour/include/hbapicdp.h
    + added new C functions:
         hb_cdpU16AsStrLen(), hb_cdpU16ToStr(),
         hb_cdpStrAsU16Len(), hb_cdpStrToU16()

  * harbour/contrib/gtwvg/wvgutils.c
    ! fixed NULL used by mistake instead of 0
2009-11-10 01:35:49 +00:00
Przemyslaw Czerpak
bebed22350 2009-11-09 21:18 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/ChangeLog
    * marked last TOFIX note as [DONE] - thanks to Mindaugas

  * harbour/src/rtl/cdpapi.c
    * use 1-st upper<->lower conversion pair instead of last one
      if more then one conversion pair exist - it's more natural
      form in most of cases
    % skip translation code when two different CDP modules use
      the same Unicode table

  * harbour/tests/cpinfo.prg
    + detect CPs which have corresponding upper or lower characters
      for non alpha characters and inform about it.
      Such situations is in NTXSPA.OBJ so such CP can be fully
      replicated in Harbour using alternative CP definition only
      which uses static tables.

  * harbour/src/codepage/cpes850c.c
  * harbour/src/codepage/cpesisoc.c
  * harbour/src/codepage/cpeswinc.c
    ! removed the hack with changed order for characters which do not
      have corresponding upper latter.
      Now there is only one difference between ES850C and Clipper NTXSPA.OBJ
      In NTXSPA 'UPPER( Chr( 163 ) )' gives "U" though Chr( 163 ) is not
      marked as letter and not sorted with other letters. For me it looks
      like a bug anyhow if you want to fully replicate NTXSPA.OBJ in Harbour
      then current cpes850c.c code should be replaced by code generated
      using tests/cpinfo.prg compiler by clipper and linked with ntxspa.obj.
      Such code should be generated using:
         cpinfo.exe es850c "Spanish CP-850 (ntxspa.obj compatible)" 850

      Now translations can be done between CPs using different number of
      letters or even defined for different languages so I have question
      to Spanish users: Do you need ESISOC and ESWINC for anything?
      If not then I would like to remove them.
      Similar situation is with HUISOS and HUWINS.

  * harbour/include/hbapicdp.h
  * harbour/src/rtl/cdpapi.c
  * harbour/src/codepage/ucmacce.c
  * harbour/src/codepage/uckoi8.c
  * harbour/src/codepage/uc885910.c
  * harbour/src/codepage/ucmacice.c
  * harbour/src/codepage/uc885914.c
  * harbour/src/codepage/uc874.c
  * harbour/src/codepage/uc857.c
  * harbour/src/codepage/uc1250.c
  * harbour/src/codepage/uc1254.c
  * harbour/src/codepage/uc1258.c
  * harbour/src/codepage/uckoi8u.c
  * harbour/src/codepage/uckam.c
  * harbour/src/codepage/uc424.c
  * harbour/src/codepage/ucmacrom.c
  * harbour/src/codepage/uc862.c
  * harbour/src/codepage/cpesisoc.c
  * harbour/src/codepage/uc866.c
  * harbour/src/codepage/uc8859_3.c
  * harbour/src/codepage/cpes850c.c
  * harbour/src/codepage/uc8859_7.c
  * harbour/src/codepage/ucmacgrk.c
  * harbour/src/codepage/uc037.c
  * harbour/src/codepage/uc850.c
  * harbour/src/codepage/uc885911.c
  * harbour/src/codepage/uc885915.c
  * harbour/src/codepage/uc875.c
  * harbour/src/codepage/uc1251.c
  * harbour/src/codepage/uc1255.c
  * harbour/src/codepage/uc863.c
  * harbour/src/codepage/ucmaz.c
  * harbour/src/codepage/uc1026.c
  * harbour/src/codepage/uc8859_4.c
  * harbour/src/codepage/uc8859_8.c
  * harbour/src/codepage/uc855.c
  * harbour/src/codepage/cpeswinc.c
  * harbour/src/codepage/uc885916.c
  * harbour/src/codepage/ucascii.c
  * harbour/src/codepage/uc1252.c
  * harbour/src/codepage/uc1256.c
  * harbour/src/codepage/ucatari.c
  * harbour/src/codepage/uc860.c
  * harbour/src/codepage/ucmaccyr.c
  * harbour/src/codepage/ucmik.c
  * harbour/src/codepage/uc864.c
  * harbour/src/codepage/uc1006.c
  * harbour/src/codepage/uc1125.c
  * harbour/src/codepage/uc8859_1.c
  * harbour/src/codepage/uc88591b.c
  * harbour/src/codepage/uc8859_5.c
  * harbour/src/codepage/uc8859_9.c
  * harbour/src/codepage/uc852.c
  * harbour/src/codepage/ucnext.c
  * harbour/src/codepage/uc737.c
  * harbour/src/codepage/uc885913.c
  * harbour/src/codepage/ucmactrk.c
  * harbour/src/codepage/uc856.c
  * harbour/src/codepage/uc775.c
  * harbour/src/codepage/uc1253.c
  * harbour/src/codepage/uc1257.c
  * harbour/src/codepage/uc500.c
  * harbour/src/codepage/uc861.c
  * harbour/src/codepage/uc865.c
  * harbour/src/codepage/uc869.c
  * harbour/src/codepage/uc8859_2.c
  * harbour/src/codepage/uc8859_6.c
    % declare Unicode tables with 'const' qualifier
2009-11-09 20:22:48 +00:00
Przemyslaw Czerpak
286b418511 2009-11-09 16:26 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/win/bcc.mk
    * increased library page size for 64 to 96

  * harbour/src/vm/thread.c
  * harbour/include/hbthread.h
    % removed 'BOOL fSync' parameter from hb_threadMutexCreate().
      This parameter was added in the past to emulate xbase++ behavior
      when oSignal:wait() is called from SYNC method but real life tests
      shows that such feature works in xbase++ in different way then
      it was initially described and Harbour code was updated to use
      different solution making above parameter unusable.

  * harbour/src/vm/hvm.c
  * harbour/src/vm/thread.c
  * harbour/src/vm/classes.c
  * harbour/src/rtl/hbgtcore.c
  * harbour/contrib/hbnetio/netiocli.c
  * harbour/contrib/hbqt/hbqt_slots.cpp
    * updated to use hb_threadMutexCreate() without parameters
2009-11-09 15:26:57 +00:00
Przemyslaw Czerpak
75f58f012f 2009-11-09 13:23 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/cdpapi.c
    ! fixed very bad typo in new CDP API code - hb_cdpnDup2() was not updating
      original string size. This bug was critical for RDDs.
2009-11-09 12:23:48 +00:00
Przemyslaw Czerpak
6995998eba 2009-11-08 12:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapigt.h
  * harbour/src/rtl/hbgtcore.c
  * harbour/src/vm/estack.c
  * harbour/src/vm/garbage.c
    ! fixed marking GC items stored in thread local GT windows
2009-11-08 11:01:28 +00:00
Przemyslaw Czerpak
7ec5d4cc53 2009-11-08 02:43 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/set.c
    ! fixed small typos in returned values (FALSE instead of NULL and 0)

  * harbour/src/vm/estack.c
    * make calling hb_stackTotalItems() safe in MT mode when stack is not
      initialized - now this function can be used to check if HVM stack
      exists and is initialized in ST and MT mode

  * harbour/src/rtl/errintlo.c
    ! fixed at least 4 GPF traps exploited when hb_errInternal() was called
      and HVM stack was not initialized

  * harbour/include/Makefile
  + harbour/include/hbcdpreg.h
  * harbour/include/hbapicdp.h
  * harbour/src/rtl/cdpapi.c
    + added new CDP API which fixes many errors and limitations in old
      implementation.
      Warning !!! some very serious bugs in national sorting have been
                  fixed. It may cause that old indexes using some national
                  sorting will not be compatible. Please rebuild existing
                  indexes.

  * harbour/src/vm/itemapi.c
  * harbour/src/rdd/hsx/hsx.c
  * harbour/src/rdd/dbfntx/dbfntx1.c
  * harbour/src/rdd/dbfnsx/dbfnsx1.c
  * harbour/src/rdd/dbfcdx/dbfcdx1.c
  * harbour/contrib/hbbmcdx/bmdbfcdx.c
  * harbour/contrib/rddads/adsx.c
  * harbour/contrib/rddsql/sqlmix.c
    * updated to work with new CDP API
    TOFIX: update adsx.c and sqlmix.c to use hb_cdpcmp() which resepcts
           sorting with accented and mulitybyts characters.
           Mindaugas, can you update above code?

  * harbour/src/codepage/cpbg866.c
  * harbour/src/codepage/cpbgiso.c
  * harbour/src/codepage/cpbgmik.c
  * harbour/src/codepage/cpbgwin.c
  * harbour/src/codepage/cpcs852.c
  * harbour/src/codepage/cpcsiso.c
  * harbour/src/codepage/cpcskam.c
  * harbour/src/codepage/cpcswin.c
  * harbour/src/codepage/cpde850.c
  * harbour/src/codepage/cpdeiso.c
  * harbour/src/codepage/cpdewin.c
  * harbour/src/codepage/cpel737.c
  * harbour/src/codepage/cpeliso.c
  * harbour/src/codepage/cpelwin.c
  * harbour/src/codepage/cpes850.c
  * harbour/src/codepage/cpes850c.c
  * harbour/src/codepage/cpesiso.c
  * harbour/src/codepage/cpesisoc.c
  * harbour/src/codepage/cpeswin.c
  * harbour/src/codepage/cpeswinc.c
  * harbour/src/codepage/cpeswinm.c
  * harbour/src/codepage/cpfr850.c
  * harbour/src/codepage/cpfriso.c
  * harbour/src/codepage/cpfrwin.c
  * harbour/src/codepage/cphr437.c
  * harbour/src/codepage/cphr852.c
  * harbour/src/codepage/cphrwin.c
  * harbour/src/codepage/cphu852.c
  * harbour/src/codepage/cphu852s.c
  * harbour/src/codepage/cphuiso.c
  * harbour/src/codepage/cphuisos.c
  * harbour/src/codepage/cphuwin.c
  * harbour/src/codepage/cphuwins.c
  * harbour/src/codepage/cpit437.c
  * harbour/src/codepage/cpit850.c
  * harbour/src/codepage/cpitisb.c
  * harbour/src/codepage/cpitiso.c
  * harbour/src/codepage/cpitwin.c
  * harbour/src/codepage/cpltwin.c
  * harbour/src/codepage/cppl852.c
  * harbour/src/codepage/cppliso.c
  * harbour/src/codepage/cpplmaz.c
  * harbour/src/codepage/cpplwin.c
  * harbour/src/codepage/cppt850.c
  * harbour/src/codepage/cpptiso.c
  * harbour/src/codepage/cpro852.c
  * harbour/src/codepage/cproiso.c
  * harbour/src/codepage/cprowin.c
  * harbour/src/codepage/cpru866.c
  * harbour/src/codepage/cpruiso.c
  * harbour/src/codepage/cprukoi.c
  * harbour/src/codepage/cpruwin.c
  * harbour/src/codepage/cpsk852.c
  * harbour/src/codepage/cpskiso.c
  * harbour/src/codepage/cpskkam.c
  * harbour/src/codepage/cpskwin.c
  * harbour/src/codepage/cpsl437.c
  * harbour/src/codepage/cpsl852.c
  * harbour/src/codepage/cpsliso.c
  * harbour/src/codepage/cpslwin.c
  * harbour/src/codepage/cpsrwin.c
  * harbour/src/codepage/cpsv850.c
  * harbour/src/codepage/cpsvclip.c
  * harbour/src/codepage/cpsviso.c
  * harbour/src/codepage/cpsvwin.c
  * harbour/src/codepage/cptr857.c
  * harbour/src/codepage/cptriso.c
  * harbour/src/codepage/cptrwin.c
  * harbour/src/codepage/cpua1125.c
  * harbour/src/codepage/cpua866.c
  * harbour/src/codepage/cpuakoi.c
  * harbour/src/codepage/cpuawin.c
  * harbour/src/codepage/uc037.c
  * harbour/src/codepage/uc1006.c
  * harbour/src/codepage/uc1026.c
  * harbour/src/codepage/uc1125.c
  * harbour/src/codepage/uc1250.c
  * harbour/src/codepage/uc1251.c
  * harbour/src/codepage/uc1252.c
  * harbour/src/codepage/uc1253.c
  * harbour/src/codepage/uc1254.c
  * harbour/src/codepage/uc1255.c
  * harbour/src/codepage/uc1256.c
  * harbour/src/codepage/uc1257.c
  * harbour/src/codepage/uc1258.c
  * harbour/src/codepage/uc424.c
  * harbour/src/codepage/uc500.c
  * harbour/src/codepage/uc737.c
  * harbour/src/codepage/uc775.c
  * harbour/src/codepage/uc850.c
  * harbour/src/codepage/uc852.c
  * harbour/src/codepage/uc855.c
  * harbour/src/codepage/uc856.c
  * harbour/src/codepage/uc857.c
  * harbour/src/codepage/uc860.c
  * harbour/src/codepage/uc861.c
  * harbour/src/codepage/uc862.c
  * harbour/src/codepage/uc863.c
  * harbour/src/codepage/uc864.c
  * harbour/src/codepage/uc865.c
  * harbour/src/codepage/uc866.c
  * harbour/src/codepage/uc869.c
  * harbour/src/codepage/uc874.c
  * harbour/src/codepage/uc875.c
  * harbour/src/codepage/uc885910.c
  * harbour/src/codepage/uc885911.c
  * harbour/src/codepage/uc885913.c
  * harbour/src/codepage/uc885914.c
  * harbour/src/codepage/uc885915.c
  * harbour/src/codepage/uc885916.c
  * harbour/src/codepage/uc88591b.c
  * harbour/src/codepage/uc8859_1.c
  * harbour/src/codepage/uc8859_2.c
  * harbour/src/codepage/uc8859_3.c
  * harbour/src/codepage/uc8859_4.c
  * harbour/src/codepage/uc8859_5.c
  * harbour/src/codepage/uc8859_6.c
  * harbour/src/codepage/uc8859_7.c
  * harbour/src/codepage/uc8859_8.c
  * harbour/src/codepage/uc8859_9.c
  * harbour/src/codepage/ucascii.c
  * harbour/src/codepage/ucatari.c
  * harbour/src/codepage/uckam.c
  * harbour/src/codepage/uckoi8.c
  * harbour/src/codepage/uckoi8u.c
  * harbour/src/codepage/ucmacce.c
  * harbour/src/codepage/ucmaccyr.c
  * harbour/src/codepage/ucmacgrk.c
  * harbour/src/codepage/ucmacice.c
  * harbour/src/codepage/ucmacrom.c
  * harbour/src/codepage/ucmactrk.c
  * harbour/src/codepage/ucmaz.c
  * harbour/src/codepage/ucmik.c
  * harbour/src/codepage/ucnext.c
    * updated for new CP API
    Warning: please test all national CPs. I'm not able to test unknown for
             me national character conditions so it's possible that I made
             something wrong. Additionally current CP API does not have
             some limitations which existed in the old one so now some hacks
             or workarounds can be cleaned. I.e. now all translations are
             done using Unicode tables so it's not necessary to use the
             same number of characters to make them working.
             Updating CP files I've found the following potential problems
             in definitions which I haven't fixed or fixed only partially:

         cpes850c.c - update for new format removing hacks for old CP
                      implementation
         cpesisoc.c  > remove, it's not longer necessary
         cpeswinc.c /
         cpeswinm.c - it is the same as cpesiso.c so it should be removed

         cphu852.c  \
         cphu852s.c  \
         cphuiso.c    > update for new format removing hacks for old CP
         cphuwin.c   /  implementation

         cphuisos.c  > remove, it's not longer necessary
         cphuwins.c /

         cphr437.c  > does it really use CP-437? and ^]\[@~}|{` instead of
         cpsl437.c /  nationalletters or it uses different then 437 CP for
                      7-bit Croatian characters encoding. It's important
                      because without valid unicode table translations will
                      not work.

         cpit437.c  - update for new version if necessary (upper characters)

         cpsv850.c \
         cpsviso.c  > they had ACCENTED_INTERLEAVED but without ACCENTED_EQUAL
         cpsvwin.c /  so this setting was ignored. Now it's not ignored.

         cpsvclip.c - update for new format to be fully not only
                      "almost compatible with Clipper's NTXSWE.OBJ"

      For sure these are not all problems inherited from old CP
      implementation so please verify all existing CPs.

  * harbour/src/codepage/cp_tpl.c
    + added new example for CP definition. Working on new CPs please read
      this description:
         If accented characters need special sorting ( HB_CDP_ACSORT_EQUAL or
         HB_CDP_ACSORT_INTERLEAVE ) then you need to mark the accented
         characters with the symbol '~' before each of them, for example:
            a~_
         If there is two-character sequence, which is considered as one, it
         should be marked with '.' before and after it, for example:
            ... h.ch.i ...
         if such multibyte character has its own Unicode representation then
         this Unicode value can be set using '=' symbol, for example:
            ....h.ch=2A7C.i
         and it will be used in translations.

         The Upper case string and the Lower case string should use the
         same letters. If some characters does not have corresponding upper
         or lower letter then space ' ' can be used as dummy character, for
         example in German CPs there is no upper case 'scharfes S' letter
         so space is used as dummy character.

         HB_CP_LATIN should be 1 if the national alphabet is based on Latin
         otherwise 0

      Please note that now you can use two versions of CP definition.
      The 1-st one which uses human readable form similar to the old CP
      definition and 2-nd which uses directly final CP tables so it
      allows to replicate any conditions which existed in Clipper or
      any other compatible language which uses static tables.
      tests/cpinfo.prg can generate automatically .c files with new CP
      definition in the 2-nd version. Now if user wants to create new
      Harbour CP which is fully Clipper compatible he only has to
      compile and link cpinfo.prg with given national sorting module
      and then execute it with new Harbour CP name as 1-st parameter.
      cp<cpname>.c file is generated which can be added to Harbour
      repository. Optional 2-nd parameter is CP description and 3-rd
      is Harbour Unicode table ID (if not given 437 is used and should
      be updated by user in .c file). This method should definitely
      resolve any problems with creating Clipper compatible CP definition.
      It also allows to easy verify if CP definitions are compatible. It's
      enough to compare generated .c files.

  * harbour/src/codepage/uckam.c
    ! fixed Kamenicky Unicode table definition - it was Mazovia CP :)

  * harbour/src/codepage/cpde850.c
  * harbour/src/codepage/cpdeiso.c
  * harbour/src/codepage/cpdewin.c
    ! fixed CP wrongly encoded CP due to limitations in old CP definition.
      Now it's possible to define different number of upper an lower
      characters (space " " can be used as dummy character) and I used
      it to eliminate hack for 'scharfes S' which does not exists as upper
      case.
      Please clean other CPs which contain similar hacks.

  * harbour/src/codepage/cphu852.c
  * harbour/src/codepage/cphuiso.c
  * harbour/src/codepage/cphuwin.c
  * harbour/src/codepage/cpua866.c
    * removed dummy letters introduced for old translation code

  * harbour/src/rtl/natmsg.c
  * harbour/src/rtl/cdpapi.c
  * harbour/include/hbextern.ch
    + added HB_CDPINFO() function
    * redirected _NATSORTVER() function to HB_CDPINFO()

   To All,
      Please check your national sorting in current version and make
      any updates if necessary or inform me about found problems.
      I've checked that Polish CPs are working fine and all existing
      CPs passes my test program which verified some technical aspects
      of CP implementation. But I cannot verify if this definitions
      satisfy users in different countries.
2009-11-08 01:46:17 +00:00
Przemyslaw Czerpak
3fddd75f6b 2009-11-06 00:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/strcase.c
  * harbour/src/rtl/cdpapi.c
    * moved some CP dependent functions from strcase.c to cdpapi.c
      They will be reimplemented in new CDP code.

  * harbour/src/rtl/cdpapi.c
  * harbour/include/hbapicdp.h
    + added new C functions to eliminate direct access to HB_CODEPAGE
      structure by non core code

  * harbour/src/rtl/gtcgi/gtcgi.c
  * harbour/src/rtl/gtpca/gtpca.c
  * harbour/src/rtl/gtstd/gtstd.c
  * harbour/src/rtl/gtcrs/gtcrs.c
  * harbour/src/rtl/gtsln/gtsln.c
  * harbour/src/rtl/gttrm/gttrm.c
  * harbour/src/rtl/gtxwc/gtxwc.c
  * harbour/src/rtl/gtdos/gtdos.c
  * harbour/src/rtl/gtwin/gtwin.c
  * harbour/src/rtl/gtwvt/gtwvt.c
  * harbour/contrib/gtwvg/gtwvg.c
  * harbour/contrib/gtqtc/gtqtc.cpp
    * updated to eliminate direct access to HB_CODEPAGE structure
2009-11-05 23:16:00 +00:00
Przemyslaw Czerpak
f7e1d79191 2009-11-03 13:36 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/common/hbstr.c
    ! fixed typo in HB_TRACE message - problem reported by Alex

  * harbour/src/rtl/cdpapi.c
    ! fixed casting for C++ builds - problem reported by Marcos
2009-11-03 12:37:01 +00:00
Przemyslaw Czerpak
e3050ec14b 2009-11-02 12:29 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/cdpapi.c
  * harbour/include/hbapicdp.h
    + added two new functions hb_cdpU16ToStr() and hb_cdpU16LEToStr()

  * harbour/doc/xhb-diff.txt
    ! fixed typo in code example reported by Guy Roussin
    ! fixed some other typos - i.e. in detached local description
2009-11-02 11:29:24 +00:00
Viktor Szakats
5a4d5519e3 2009-11-01 19:01 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/hbsocket.c
    ! hb<Type> -> HB_<TYPE>.
2009-11-01 18:11:13 +00:00
Przemyslaw Czerpak
9cb8e49022 2009-10-31 12:44 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rdd/dbfcdx/dbfcdx1.c
    % added small protection against code which may want to create
      degenerated index tree using very large keys (over 158 bytes length)
2009-10-31 11:44:18 +00:00
Przemyslaw Czerpak
041227cec3 2009-10-31 02:25 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapicdp.h
  * harbour/src/rtl/cdpapi.c
    * modified hb_cdpStringInU16Length() to return size in 'HB_WCHAR'
      instead of 'char' characters
    + added hb_cdpStrnToU16n(), hb_cdpStrnToU16LEn(),
      hb_cdpStringInU16Length2()
2009-10-31 01:25:38 +00:00
Przemyslaw Czerpak
ec05ab3c34 2009-10-30 17:54 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/common/hbffind.c
    * small buffer size fix

  * harbour/src/rtl/cdpapi.c
  * harbour/include/hbapicdp.h
    + added HB_WCAHR
    * changed USHORT to HB_WCHAR

  * harbour/src/codepage/ucmacce.c
  * harbour/src/codepage/uckoi8.c
  * harbour/src/codepage/uc885910.c
  * harbour/src/codepage/ucmacice.c
  * harbour/src/codepage/uc885914.c
  * harbour/src/codepage/uc874.c
  * harbour/src/codepage/uc857.c
  * harbour/src/codepage/uc1250.c
  * harbour/src/codepage/uc1254.c
  * harbour/src/codepage/uc1258.c
  * harbour/src/codepage/uckoi8u.c
  * harbour/src/codepage/uckam.c
  * harbour/src/codepage/uc424.c
  * harbour/src/codepage/ucmacrom.c
  * harbour/src/codepage/uc862.c
  * harbour/src/codepage/uc866.c
  * harbour/src/codepage/uc8859_3.c
  * harbour/src/codepage/uc8859_7.c
  * harbour/src/codepage/ucmacgrk.c
  * harbour/src/codepage/uc037.c
  * harbour/src/codepage/uc850.c
  * harbour/src/codepage/uc885911.c
  * harbour/src/codepage/uc885915.c
  * harbour/src/codepage/uc875.c
  * harbour/src/codepage/uc1251.c
  * harbour/src/codepage/uc1255.c
  * harbour/src/codepage/uc863.c
  * harbour/src/codepage/ucmaz.c
  * harbour/src/codepage/uc1026.c
  * harbour/src/codepage/uc8859_4.c
  * harbour/src/codepage/uc8859_8.c
  * harbour/src/codepage/uc855.c
  * harbour/src/codepage/uc885916.c
  * harbour/src/codepage/ucascii.c
  * harbour/src/codepage/uc1252.c
  * harbour/src/codepage/uc1256.c
  * harbour/src/codepage/ucatari.c
  * harbour/src/codepage/uc860.c
  * harbour/src/codepage/ucmaccyr.c
  * harbour/src/codepage/ucmik.c
  * harbour/src/codepage/uc864.c
  * harbour/src/codepage/uc1006.c
  * harbour/src/codepage/uc1125.c
  * harbour/src/codepage/uc8859_1.c
  * harbour/src/codepage/uc88591b.c
  * harbour/src/codepage/uc8859_5.c
  * harbour/src/codepage/uc8859_9.c
  * harbour/src/codepage/uc852.c
  * harbour/src/codepage/ucnext.c
  * harbour/src/codepage/uc737.c
  * harbour/src/codepage/uc885913.c
  * harbour/src/codepage/ucmactrk.c
  * harbour/src/codepage/uc856.c
  * harbour/src/codepage/uc775.c
  * harbour/src/codepage/uc1253.c
  * harbour/src/codepage/uc1257.c
  * harbour/src/codepage/uc500.c
  * harbour/src/codepage/uc861.c
  * harbour/src/codepage/uc865.c
  * harbour/src/codepage/uc869.c
  * harbour/src/codepage/uc8859_2.c
  * harbour/src/codepage/uc8859_6.c
    * changed USHORT to HB_WCHAR
2009-10-30 16:56:47 +00:00
Viktor Szakats
a96bf01055 2009-10-30 07:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/compiler/hbgenerr.c
    * Minor formatting.

  * doc/xhb-diff.txt
    * Changed HBCRYPT to HBSSL in examples to contribs.
2009-10-30 06:34:38 +00:00
Przemyslaw Czerpak
f7f2caa607 2009-10-30 03:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/common/hbgete.c
  * harbour/src/common/hbffind.c
  * harbour/src/common/hbfsapi.c
  * harbour/src/rtl/fstemp.c
  * harbour/src/rtl/filesys.c
  * harbour/src/rtl/diskspac.c
  * harbour/src/rtl/disksphb.c
  * harbour/src/rtl/net.c
    ! fixed memory leak reported by Pritpal
    * cleanup some UNICODE conversions in Windows builds (mostly resolved
      some macros when UNICODE macro is also explicitly used and cleaned
      some buffers length passed to windows functions.
    * removed unnecessary casting - if it's not necessary for some strange
      reasons never cast strings to LP[C][TW]STR calling windows functions.
      Such casting does not make any conversions but only hides potential
      bugs.

  * harbour/contrib/hbwin/axcore.c
    * pacified warning
2009-10-30 02:41:17 +00:00
Przemyslaw Czerpak
ff3649b64d 2009-10-29 15:41 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/dates.c
    ! fixed HB_TTOC() to not add leading space when date part is empty
2009-10-29 14:41:46 +00:00
Przemyslaw Czerpak
bdd496a088 2009-10-28 09:13 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtxwc/gtxwc.c
    * use XSetWMName() instead of XStoreName() to set window title
      using UTF8 strings

  * harbour/include/hbapigt.h
    * always declare hb_gtIsGtRef() for C++ compiler
2009-10-28 08:13:41 +00:00
Przemyslaw Czerpak
33b8f7bd83 2009-10-27 19:49 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/codepage/cpru866.c
  * harbour/src/codepage/cpruiso.c
  * harbour/src/codepage/cprukoi.c
  * harbour/src/codepage/cpruwin.c
  * harbour/src/codepage/cpua1125.c
  * harbour/src/codepage/cpua866.c
  * harbour/src/codepage/cpuakoi.c
  * harbour/src/codepage/cpuawin.c
    * use macros in codepage definition instead of direct constant values
2009-10-27 18:49:44 +00:00
Przemyslaw Czerpak
abb4092d09 2009-10-27 10:34 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/src/vm/garbage.c
    * added emulation for hb_gcAlloc() function covered by HB_LEGACY_LEVEL2
      It will be removed in the future but now it gives a time for 3-rd party
      code developers to updated existing code and switch to hb_gcAllocate()

  * harbour/contrib/hbwin/hbwinole.h
  * harbour/contrib/hbwin/olecore.c
    + added hb_oleItemGetCallBack() and hb_oleItemSetCallBack()
      functions and support for user defined items bound with
      OLE GC pointer item

  * harbour/contrib/hbwin/axcore.c
    * bound callback function with OLE item so it will be automatically
      released with OLE object

  * harbour/contrib/hbwin/tests/testax.prg
     ! destroy window
     * enabled destructor

    So far MS-Windows users haven't defined expected behavior for OLE code
    so I took my own arbitrary decision and bound callback with OLE GC item.
    When last copy of this item is cleared then callback is unregistered
    and freed. It means that it can happen before AX window is closed.
    If you prefer different behavior then please clearly define what
    you need and I can try to change existing code.
    Now testax.prg should cleanly execute without any GPF traps and
    resource leaks.
2009-10-27 09:34:35 +00:00
Przemyslaw Czerpak
80727f27b2 2009-10-27 00:01 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/hashes.c
    ! use hb_gcMark() instead of hb_gcItemRef() to mark unlocked item

  * harbour/src/vm/garbage.c
    * moved hb_itemClear() from hb_gcGripDrop() to hb_gcGripRelease()
      Now items are freed in the same way as any other GC blocks and
      hb_gcGripDrop() is simple wrapper to hb_gcRefFree()

  * harbour/src/vm/hvm.c
  * harbour/src/vm/thread.c
    ! unlock item which stores thread return value to eliminate possible
      memory leaks, i.e. when thread returns its own pointer item.
    ! unlock item which stores notify messages to eliminate possible
      memory leaks, i.e. when mutex is used as notify value in its
      own message queue.

  * harbour/include/hbapigt.h
  * harbour/include/hbgtcore.h
  * harbour/src/rtl/hbgtcore.c
  * harbour/src/vm/garbage.c
    + added new GT method MARK() executed by GC to mark all internall
      GC blocks as used.
    + added hb_gtIsGtRef() internal function
    ! unlock internal GT items (pCargo, pNotifierBlock, pMutex) to
      eliminate possible memory leaks, i.e. when pGT item is stored
      in it's own cargo value or is accessed from notifier codeblock
2009-10-26 23:01:50 +00:00
Przemyslaw Czerpak
27d8ec120f 2009-10-26 20:17 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/garbage.c
    ! fixed hb_gcGripDrop() to work well with unlocked items and
      items freed by GC

  * harbour/tests/speedtst.prg
    ! typo in comment
2009-10-26 19:17:34 +00:00
Viktor Szakats
b27ce56c5e 2009-10-26 14:18 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/maindllp.c
    ! Using hb_getProcAddress() instead of GetProcAddress().
      Idea submitted to the list, I didn't make any tests, so 
      review it and change it as needed.

  * contrib/xhb/hbcompat.ch
    + Added HB_GTI_CLIPBOARDPAST related stuff.
2009-10-26 13:19:53 +00:00
Przemyslaw Czerpak
42749a2ba3 2009-10-23 21:01 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbbffnc.c
    + added support for 3-rd parameter <lRaw> in hb_blowfishEncrypt() and
      hb_blowfishDecrypt() functions. It disables ANSI X.923 padding but
      encode passed string in 8bytes blocks. If last block in string is
      smaller then it's padded to 8 bytes using chr(0) and information
      about original string size is not attached to encrypted data.
      During decoding only strings which are well padded (N*8 bytes) are
      accepted and <lRaw> := .T. disables restoring original string size
      encoded in encrypted string using ANSI X.923 standard so the size
      of decrypted string is the same as original one.
2009-10-23 19:01:51 +00:00
Przemyslaw Czerpak
c269bce77d 2009-10-23 15:09 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtxwc/gtxwc.c
    ! fixed clipboard property change in 64bit builds
2009-10-23 13:09:23 +00:00
Przemyslaw Czerpak
35e5052a3d 2009-10-23 13:27 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbgtcore.c
  * harbour/include/hbgtinfo.ch
    * renamed HB_GTI_CLIPBOARDPAST -> HB_GTI_CLIPBOARDPASTE
2009-10-23 11:27:54 +00:00
Przemyslaw Czerpak
2adacef2e0 2009-10-23 13:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbgtcore.c
    ! fixed recent modification to work also with system clipboards
2009-10-23 11:24:14 +00:00
Przemyslaw Czerpak
0c88fcd8e0 2009-10-23 12:44 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbgtcore.c
    + added default implementation for HB_GTI_CLIPBOARDPAST - thanks to
      Enrico for information about missing functionality
2009-10-23 10:44:40 +00:00
Przemyslaw Czerpak
e2c22dd1a3 2009-10-23 12:21 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbbffnc.c
    * added note about padding standard - thanks to Mindaugas for information

  * harbour/contrib/rddsql/sddfb/fbirddd.c
    * pacified strict alignment warnings

  * harbour/contrib/hbmemio/memio.c
    * pacified warning
2009-10-23 10:21:40 +00:00
Przemyslaw Czerpak
3b55cf37fd 2009-10-23 12:11 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/fm.c
    * enable USE_DL_PREFIX in all C++ builds to avoid conflicts with
      different exception declarations for standard memory functions
      in C++ header files
2009-10-23 10:11:35 +00:00
Przemyslaw Czerpak
6b282c790b 2009-10-23 11:47 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/src/vm/extend.c
    + added hb_parldef() function

  * harbour/src/vm/thread.c
  * harbour/src/vm/memvars.c
  * harbour/src/vm/arrayshb.c
  * harbour/src/vm/classes.c
  * harbour/src/rtl/hbtoken.c
  * harbour/src/rtl/maxrow.c
  * harbour/src/rtl/strtoexp.c
  * harbour/src/rtl/filesys.c
  * harbour/src/rtl/hbregex.c
  * harbour/src/rtl/dateshb.c
  * harbour/src/rtl/hbi18n1.c
  * harbour/src/rtl/mlcfunc.c
  * harbour/src/rtl/itemseri.c
  * harbour/src/rtl/strc.c
  * harbour/src/rtl/gete.c
  * harbour/src/rtl/mouse53.c
  * harbour/src/rtl/fssize.c
  * harbour/src/rdd/dbsql.c
  * harbour/src/rdd/dbdetach.c
  * harbour/src/rdd/dbcmd.c
  * harbour/src/rdd/dbcmd53.c
  * harbour/src/rdd/hbsix/sxord.c
  * harbour/src/rdd/hbsix/sxfname.c
  * harbour/contrib/hbct/bitnum.c
  * harbour/contrib/hbct/screen2.c
  * harbour/contrib/hbct/ctnet.c
  * harbour/contrib/hbct/files.c
  * harbour/contrib/hbct/charswap.c
  * harbour/contrib/hbct/lton.c
  * harbour/contrib/hbct/color.c
  * harbour/contrib/hbct/num1.c
  * harbour/contrib/hbct/token1.c
  * harbour/contrib/hbct/numcount.c
  * harbour/contrib/hbct/ctwfunc.c
  * harbour/contrib/hbct/ctstrfil.c
  * harbour/contrib/hbct/dattime2.c
  * harbour/contrib/xhb/bkgtsks.c
  * harbour/contrib/xhb/xhbtrim.c
  * harbour/contrib/hbnf/prtscr.c
  * harbour/contrib/hbnf/fttext.c
  * harbour/contrib/hbnetio/netiosrv.c
  * harbour/contrib/gtwvg/wincallb.c
  * harbour/contrib/gtwvg/wvgwing.c
  * harbour/contrib/rddads/adsfunc.c
  * harbour/contrib/hbwin/win_prn1.c
  * harbour/contrib/hbwin/win_prn2.c
    % optimized HB_ISLOG() / hb_parl() usage
2009-10-23 09:48:38 +00:00
Przemyslaw Czerpak
a70ce60954 2009-10-23 09:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rdd/dbfnsx/dbfnsx1.c
    ! fixed bug reported by Jaroslav Janik (many thanks) - if index FOR
      expression excluded all records from non empty table then root page
      was not initialized and DBFNSX generated corruption RTE.

  * harbour/utils/hbi18n/hbi18n.prg
    * set default GT to CGI

  * harbour/src/common/hbgete.c
    ! fixed memory leak in non UNICODE Windows hb_getenv_buffer()
    ! add C stack buffers to eliminate memory allocation in UNICODE
      Windows hb_getenv_buffer() - they are used if envvar name and
      passed buffer are not too large. It fixes HB_FM_STATISTICS
      Windows builds.

  * harbour/contrib/hbwin/wapi_winuser.c
    + added WAPI_DESTROYWINDOW function

  * harbour/contrib/xhb/traceprg.prg
  * harbour/contrib/xhb/hbcompat.ch
    ! fixed typo in TraceLog() condition - was always disabled
    + added emulation for xHarbour Set( _SET_TRACE* [, <params,...> ] )
      settings

  * harbour/src/vm/hvmall.c
    ! define _GNU_SOURCE to fix compilation with HB_FM_DL_ALLOC in Linux
      builds

  * harbour/include/hbdefs.h
    * declare HB_FOFFSET as LONG instead of LONGLONG on platforms where
      LONG is 64bit integer to be compatible with C RTL file API

  * harbour/src/vm/maindllh.c
  * harbour/src/vm/maindllp.c
  * harbour/contrib/hbct/ctstr.c
    ! casting in HB_TRACE() massages

  * harbour/include/hbapi.h
  * harbour/include/hbapiitm.h
  * harbour/src/vm/arrays.c
  * harbour/src/vm/hashes.c
  * harbour/src/vm/itemapi.c
    + added hb_arrayCloneTo(), hb_hashCloneTo(), hb_itemCloneTo()

  * harbour/src/vm/arrayshb.c
  * harbour/src/vm/classes.c
  * harbour/src/vm/hashes.c
  * harbour/src/vm/hashfunc.c
  * harbour/src/vm/hvm.c
    % use hb_*CloneTo() instead of hb_*Clone()

  * harbour/include/hbapi.h
  * harbour/src/vm/garbage.c
    - removed hb_gcRegisterSweep() function and support for user defined
      sweep mark functions in GC blocks
    - removed hb_gcAlloc() function
    + added new function hb_gcAllocate() which work in similar way to removed
      hb_gcAlloc() function but it accepts as second parameter HB_GC_FUNCS
      structure instead of HB_GARBAGE_FUNC_PTR and returned GC blocks are
      locked so programmer does not have to worry that they can be removed
      by GC.
    + added new internal function hb_gcAllocRaw() which works like
      hb_gcAllocate() but returned GC blocks are not locked. They can
      be used only in HVM in places well known that cannot activate
      automatic GC scan. It should not be used by 3-rd party code.

  * harbour/include/hbapi.h
  * harbour/include/hbapiitm.h
  * harbour/src/vm/extend.c
  * harbour/src/vm/itemapi.c
    * modified hb_parptrGC(), hb_parvptrGC(), hb_arrayGetPtrGC(),
      hb_itemGetPtrGC() functions to use HB_GC_FUNCS structure instead
      of HB_GARBAGE_FUNC_PTR
    * modified hb_itemPutPtrGC() and indirectly related functions like
      hb_arraySetPtrGC() or hb_stor[v]ptrGC() to automatically unlock
      passed GC block just after attaching to known HVM item.

  * harbour/include/hbregex.h
  * harbour/src/rtl/hbregexc.c
    * declare GC block detractor as static function
    + added hb_regexIs() function
    * updated to work with new GC API
    * removed unnecessary in new GC API hb_gcLock() call - GC blocks
      allocated by hb_gcAllocate() are already locked and they mustn't
      be locked explicitly by programmer (until he does not exactly knows
      what he does ;))

  * harbour/src/rtl/hbregex.c
    * use hb_regexIs() instead of using regex GC destructor
    * removed unnecessary in new GC API hb_gcUnlock() call - GC blocks
      stored in HB_IT_POINTER item are automatically unlocked

  * harbour/src/rtl/hbinet.c
  * harbour/contrib/hbcurl/hbcurl.c
    * updated to work with new GC API
    % unlock items storing callback codeblocks and use GC mark functions
      to mark them as used in GC passes

  * harbour/src/pp/pplib.c
  * harbour/src/vm/runner.c
  * harbour/src/vm/codebloc.c
  * harbour/src/vm/hashes.c
  * harbour/src/vm/hvm.c
  * harbour/src/vm/arrays.c
  * harbour/src/vm/thread.c
  * harbour/src/vm/dynlibhb.c
  * harbour/src/rtl/hbzlibgz.c
  * harbour/src/rtl/hbregex.c
  * harbour/src/rtl/hbregexc.c
  * harbour/src/rtl/hbgtcore.c
  * harbour/src/rtl/hbi18n1.c
  * harbour/src/rdd/wacore.c
  * harbour/contrib/hbsqlit3/hbsqlit3.c
  * harbour/contrib/hbnetio/netiosrv.c
  * harbour/contrib/hbmzip/hbmzip.c
  * harbour/contrib/hbhpdf/harupdf.c
  * harbour/contrib/hbwin/olecore.c
  * harbour/contrib/hbwin/win_prn1.c
  * harbour/contrib/hbwin/win_dll.c
    * updated code which was using hb_gcAlloc() to work with new GC API.

  * harbour/contrib/hbwin/axcore.c
    * updated syntax description

   TODO: update contrib code: hbqt, hbssl, ... to work with new GC API.
         I would like to ask authors of above libraries to do it.
   TODO: defined when and how we should free AX control and user callback
         handler and update AX code to respect new definition
2009-10-23 07:25:36 +00:00
Przemyslaw Czerpak
61f278a65b 2009-10-21 13:46 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbini.prg
    ! fixed stripping last character when the last line in ini file
      does not contain valid EOL - thanks to Mario H. Sabado for information
      about the problem
2009-10-21 11:47:22 +00:00
Przemyslaw Czerpak
ed9cd3fc9e 2009-10-20 13:48 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/thread.c
  * harbour/include/hbthread.h
    * eliminated nameless unions
2009-10-20 11:48:46 +00:00
Przemyslaw Czerpak
0e8c6557b9 2009-10-19 22:12 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/dateshb.c
    ! fixed HB_TTOD() and HB_DTOT() results - they were reverted by mistake
    + added support for optional second parameter in HB_DTOT() function with
      time as numeric value in second() like representation or as character
      string with HH:MM[:S[S][.f[f[f[f]]]]] [PM|AM] representation, i.e.:
         ? HB_DATETIME()
         ? HB_DTOT( date(), seconds() )
         ? HB_DTOT( date(), time() )
    + added support for optional second parameter passed by reference in
      HB_TTOD() function. If given then this functions stores in it number
      of seconds in given day specified by timestamp value, i.e.:
         dDate := HB_TTOD( HB_DATETIME(), @nSec )
      gives similar functionality to:
         dDate := date()
         nSec := seconds()
    + added support for optional 3-rd parameter in HB_TTOD() functions
      with timestamp format. If given then this function stores time
      part in second parameter as formatted string value. For empty
      string _SET_TIMEFORMAT is used, i.e.:
         dDate := HB_TTOD( HB_DATETIME(), @cTime, "hh:mm:ss" )
2009-10-19 20:12:36 +00:00
Viktor Szakats
b5c93263e5 2009-10-19 15:04 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbwince.c
    ! Typos in comments.

  * contrib/rddads/rddads.h
    * Minor formatting.
2009-10-19 13:04:55 +00:00
Przemyslaw Czerpak
890b9ac2ad 2009-10-19 14:54 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/common/hbwince.c
    + added GetEnvironmentVariableW() - it fixes WinCE builds after recent
      ANSI to UNICODE function conversions. In WINCE such functions do not
      exist.

  * harbour/src/rtl/gtclip.c
    * pacified MinGWCE warnings

  * harbour/src/rtl/dateshb.c
    + added HB_TTOD() and HB_DTOT() functions
2009-10-19 12:54:46 +00:00
Przemyslaw Czerpak
fc6853c254 2009-10-19 10:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/cdpapi.c
  * harbour/include/hbapicdp.h
    + added new functions: hb_cdpStrnToU16LE() and hb_cdpStringInU16Length()

  * harbour/contrib/rddads/rddads.h
    ! define (if not defined) x64 macro in all 64bit builds not only for
      MinGW64
    * define (if not defined) unix macro in all HB_OS_UNIX builds not only
      for Linux. TOCHECK: CygWIN builds.
2009-10-19 08:55:27 +00:00