Commit Graph

2626 Commits

Author SHA1 Message Date
Viktor Szakats
96e069c19e 2010-07-12 18:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * src/rtl/Makefile
  + src/rtl/hbdoc.prg
    + Added __HBDOC_LOADDIR() internal RTL function to read
      NFDOC formatted documentation source directories into
      memory. The result will be a list of hashes which contain
      the raw content of doc files. The function does format
      validation (but not content) and add all agreed-on metadata
      to the hashes.
      It's a start and I hope others can join to create new
      layers of function for below functionality:
         - doc content validation
         - pre-formatting
         - output generators
      The goal is to avoid local solutions and standardize
      the format.

  + tests/hbdoctst.prg
    + Added small test app which will find and parse all
      documentation inside the Harbour source tree and
      save them in .hbd (serialized doc hash) format.
      Such .hdb files can be generated by the build process
      in the future, so tools like HBIDE can use the content
      to display intellisense or built-in help.
    ; TODO: HBQT doc/html should be removed as it's 
            hbdoc tools' job to convert HBDOC source 
            format to html or whatever else format needed.

  * harbour.spec
  * debian/rules
  - doc/man
  + src/pp/hbpp.1
  + src/main/harbour.1
  + utils/hbmk2/hbmk2.1
  + utils/hbtest/hbtest.1
  + utils/hbrun/hbrun.1
    * Moved man doc files to their own component dirs.

  * doc/Makefile
  * doc/en/Makefile
  + doc/clipper.txt
  - doc/en/clipper.txt
    * Moved non-NFDOC formatted doc file to doc dir.

  * doc/en/Makefile
    ! Fixed missing 1stread.txt

  * doc/en/hb_apigt.txt
  * doc/en/hbinet.txt
  * doc/en/tbrowse.txt
  * doc/en/hb_apifs.txt
    ! Fixed NFDOC non-standard entries.

  * bin/hbxpatch.hbs
    ! Fixed detecting dirs. (could cause errors only in rare cases)

  * contrib/hbdoc2/tmplates.prg
    * Formatting.
2010-07-12 16:47:24 +00:00
Viktor Szakats
7115477a90 2010-07-10 10:48 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbassert.h
    ! Fixed to only enable assert()s when HB_BUILD_DEBUG is activated.
      (So far assert() was disabled for msvcarm only in normal builds.)
      Pls check me. In some places assert(0) is used which is a permanent 
      exit, so maybe these would need to be replaced with hb_errInternal()?

  * include/assert.ch
    ! Typo in comment.

  * contrib/make.hbs
    % Minor opt.
2010-07-10 08:49:17 +00:00
Viktor Szakats
1eeff56090 2010-07-10 08:52 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/gtdos/gtdos.c
  * src/rtl/gtwin/gtwin.c
  * src/rtl/gtos2/gtos2.c
  * src/rtl/gtsln/kbsln.c
  * include/hbapigt.h
    ! Fixed code to use HB_INKEY_RAW constant.
    * Marked C level INKEY_RAW constant with HB_LEGACY_LEVEL3.
2010-07-10 06:53:15 +00:00
Przemyslaw Czerpak
22100001e8 2010-07-08 12:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/include/hbmacro.h
  * harbour/include/hbcomp.h
  * harbour/include/hbcompdf.h
  * harbour/include/hbexprb.c
  * harbour/src/pp/ppcore.c
  * harbour/src/compiler/hbmain.c
  * harbour/src/vm/macro.c
    ! fixed code used to decide about early and late macro
      evaluation in codeblocks to be exactly Clipper compatible.
      Now if codeblock contains at least one macro variable
      (i.e.: &var, any&var, any&var.2) then it's always early
      evaluated.
      Please remember that codeblocks which contains only simple
      macro variable ( &var[.] ), i.e.:
         {|| &var }
      are modified during compilation by Clipper and Harbour compilers to:
         &( "{||" + var + "}" )
      and then PCODE is generated. It allows to use LOCALs, STATICs and
      FIELDs as 'var' in such expressions. In xHarbour above functionality
      was extended to work also with macrotext variables, i.e.:
         {|| &var.2 }
      If you think it's important extension then I can make the same
      in Harbour or I can even implement it for all codeblock expressions
      with macros using declared non memvar symbols, i.e.
         {|| &var + 1 }
      what should effectively eliminate E0047 compile time error
    ! fixed compile time error E0042 "Macro of declared symbol..."
      to be generated with the same conditions as in Clipper.
    ! fixed compile time error E0047
         "Code block contains both macro and declared symbol references..."
      to be generated with the same conditions as in Clipper.
      Note: -km switch disables macro text evaluation so also above errors
      unless macro is not used in codeblock

      Warning: above modifications can cause compile time errors in some
               code which was not Clipper compatible and in such case they
               will have to be updated.

  * harbour/utils/hbtest/rt_math.prg
    ! updated code with Clipper incompatible code exploited by above
      modifications
2010-07-08 10:35:53 +00:00
Viktor Szakats
53093e704f 2010-07-08 09:24 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/macro.c
  * src/vm/hashes.c
  * src/vm/itemapi.c
  * src/vm/hvm.c
  * src/vm/arrays.c
  * src/vm/extend.c
  * src/common/expropt1.c
  * src/common/expropt2.c
  * src/rtl/hbgtcore.c
  * src/compiler/hbmain.c
  * include/hbgtcore.h
  * include/hbmacro.h
  * include/hbapi.h
  * include/hbapiitm.h
  * include/hbvm.h
  * include/hbcomp.h
  * include/hbexprop.h
    * Variable name cleanups.
    * Corrections/completions in declarations.
2010-07-08 07:24:58 +00:00
Viktor Szakats
8e23274cd7 2010-07-07 23:11 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rdd/sdf1.c
  * src/rdd/delim1.c
  * include/hbrddsdf.h
  * include/hbrdddel.h
    * HB_SIZE/HB_FOFFSET renames in structs (ul* -> n*).
      (objects verified)

  * include/hbcomp.h
  * include/hbapicdp.h
    * More HB_SIZE var renames (in decl only).

  * src/rtl/filesys.c
  * include/hbapifs.h
    * HB_FOFFSET renames (ul*, ll* -> n*).
      (object verified)
2010-07-07 21:11:33 +00:00
Viktor Szakats
c863e84065 2010-07-07 18:53 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/macro.c
    ! Added missing renames from prev session.

  * src/common/expropt1.c
  * src/common/expropt2.c
  * src/compiler/hbmain.c
  * src/compiler/harbour.yyc
  * src/compiler/harbour.y
  * include/hbcompdf.h
  * include/hbexpra.c
  * include/hbexprb.c
    * Some final renames in compiler area.
      (compiler objects verified)

  * contrib/make.hbs
    * Updated header.
2010-07-07 16:53:35 +00:00
Viktor Szakats
f9270e4a0e 2010-07-07 18:13 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/compiler/ppcomp.c
  * src/compiler/hbmain.c
  * src/compiler/hbpcode.c
  * src/compiler/hbdead.c
  * src/compiler/gencc.c
  * src/compiler/hblbl.c
  * include/hbcompdf.h
    * lPCodeSize -> nPCodeSize
    * pulLabels -> pnLabels
      (objects verified)
2010-07-07 16:14:11 +00:00
Viktor Szakats
f1bea060aa 2010-07-07 18:08 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/compiler/hbmain.c
  * src/compiler/hbfix.c
  * src/compiler/hbdbginf.c
  * src/compiler/hbpcode.c
  * src/compiler/genhrb.c
  * src/compiler/hbdead.c
  * src/compiler/genc.c
  * src/compiler/hbopt.c
  * src/compiler/gencc.c
  * src/compiler/hblbl.c
  * src/compiler/harbour.yyc
  * src/compiler/hbstripl.c
  * src/compiler/harbour.y
  * include/hbcomp.h
  * include/hbcompdf.h
  * include/hbexprb.c
    * lPCodePos -> nPCodePos
      (objects verified)
2010-07-07 16:09:23 +00:00
Viktor Szakats
a892e7e868 2010-07-07 17:25 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbcomp.h
    ! Renamed back one variable in header which caused an 
      avalanch of problems in .c code.
      I'll redo this later.
2010-07-07 15:25:43 +00:00
Viktor Szakats
14122cb345 2010-07-07 15:40 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/extend.c
  * include/hbapicdp.h
  * include/hbstack.h
  * include/hbgtcore.h
  * include/hbapifs.h
  * include/hbxvm.h
  * include/hbdefs.h
  * include/hbmacro.h
  * include/hbapi.h
  * include/hbapiitm.h
  * include/hbcomp.h
  * include/hbsxfunc.h
  * include/hbexprop.h
  * include/hbapigt.h
  * include/hbhash.h
  * include/hbregex.h
    * HB_SIZE/HB_ISIZ/some HB_MAXINT variables renamed.
2010-07-07 13:42:39 +00:00
Viktor Szakats
a5231252b5 2010-07-06 23:31 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbffind.c
  * src/common/hbwin.c
  * src/common/hbstr.c
  * src/common/expropt1.c
  * src/common/expropt2.c
  * src/common/hbmem.c
  * src/common/strwild.c
  * src/common/hbhash.c
  * include/hbhash.h
  * src/rtl/substr.c
  * src/rtl/hbzlibgz.c
  * src/rtl/hbtoken.c
  * src/rtl/hbstrfmt.c
  * src/rtl/transfrm.c
  * src/rtl/hbadler.c
  * src/rtl/hbcomhb.c
  * src/rtl/hbmd5.c
  * src/rtl/hbascii.c
  * src/rtl/hbregexc.c
  * src/rtl/hbprocfn.c
  * src/rtl/hbsocket.c
  * src/rtl/hbinet.c
  * src/rtl/gtapi.c
  * src/rtl/filesys.c
  * src/rtl/hbregex.c
  * src/rtl/hbbffnc.c
  * src/rtl/hbgtcore.c
  * src/rtl/hbi18n1.c
  * src/rtl/gtclip.c
  * src/rtl/itemseri.c
  * src/rtl/hbsockhb.c
  * src/rtl/hardcr.c
  * src/rtl/hbzlib.c
  * src/rtl/hbhex.c
  * src/rtl/gete.c
  * src/rtl/hbproces.c
  * src/rtl/cdpapihb.c
  * src/rtl/ati.c
  * src/rtl/memofile.c
  * src/rtl/hbstrsh.c
    * Renamed HB_SIZE variables to have 'n' prefix.
      (verified to generate the same objects as before)
2010-07-06 21:32:46 +00:00
Viktor Szakats
6ac45c3680 2010-07-06 22:28 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/hashfunc.c
  * src/vm/macro.c
  * src/vm/pcount.c
  * src/vm/estack.c
  * src/vm/debug.c
  * src/vm/hvm.c
  * src/vm/pvalue.c
  * src/vm/arrays.c
  * src/vm/fm.c
  * src/vm/proc.c
  * src/vm/memvars.c
  * src/vm/arrayshb.c
  * src/vm/eval.c
  * src/vm/classes.c
  * include/hbstack.h
  * include/hbapi.h
    * Renamed HB_ISIZ variables to have 'n' prefix.
      (verified to generate the same objects as before)

  * src/vm/fm.c
    ! Fixed HB_ISIZ values to be displayed using HB_PFS format
      string.

  * src/vm/hvm.c
    * HB_ISIZ -> HB_LONG in places where it was wrong.
2010-07-06 20:29:34 +00:00
Viktor Szakats
db1fbb5aed 2010-07-06 21:00 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbrun/hbrun.prg
    ! Don't search passed program in PATH and hbrun dir, if
      program name has path component.

  * contrib/xhb/xhbenum.c
  * contrib/xhb/xhbqself.c
  * contrib/xhb/xhbwith.c
  * contrib/xhb/xhberrc.c
    ! Fixed msvc64 warnings after HB_SIZE extension in stack API.

  * contrib/make.hbs
    + Added logic to protect against case when 'clean install'
      is used but hbrun or hbmk2 isn't available when launching
      the make process. In this case 'clean' phase won't be executed
      for contribs, which is solved by forcing a -rebuild in
      'install' phase.

  * src/vm/strapi.c
  * src/vm/runner.c
  * src/vm/itemapi.c
  * src/vm/asort.c
  * src/vm/hvm.c
  * src/vm/arrays.c
  * src/vm/memvars.c
  * src/vm/set.c
  * src/vm/classes.c
  * src/rtl/lennum.c
  * src/rtl/strcase.c
  * src/rtl/replic.c
  * src/rtl/padr.c
  * src/rtl/padc.c
  * src/rtl/strtran.c
  * src/rtl/strtoexp.c
  * src/rtl/padl.c
  * src/rtl/saverest.c
  * src/rtl/right.c
  * src/rtl/philes.c
  * src/rtl/mlcfunc.c
  * src/rtl/left.c
  * src/rtl/xsavescr.c
  * src/rtl/setkey.c
  * src/rtl/stuff.c
  * src/rtl/trace.c
  * src/rtl/samples.c
  * src/rtl/inkeyapi.c
  * src/rtl/inkey.c
  * src/rtl/mtran.c
  * src/rtl/colorind.c
  * src/rtl/rat.c
  * include/hbapi.h
  * include/hbapistr.h
    * Renamed HB_SIZE variables to have 'n' prefix.
      (verified to generate the same objects as before)

  * src/rtl/philes.c
    * Changed hb_retnint()/hb_retni() to hb_retns().

  * contrib/hbgd/gdwrp.c
    * Formatting.
2010-07-06 19:02:19 +00:00
Viktor Szakats
aed8cb147e 2010-07-06 13:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/console.c
  * src/rtl/philes.c
  * include/hbextern.ch
    + Added: HB_PS() function, which does the same as HB_OSPATHSEPARATOR().
    + Added: HB_EOL() function, which does the same as HB_OSNEWLINE().
    ; These are very often used functions with an exceptionally long and
      hard to type name, so most programs employed macros for it. Now this
      is unnecessary. Long names are deprecated.

  * contrib/Makefile
  - contrib/makefile.hbs
  + contrib/make.hbs
    * Renamed to be shorter.
    + Little steps for standlone running mode.
    + Using HB_EOL() and HB_PS().
    ; TODO: Change it all over Harbour SVN.
2010-07-06 11:03:51 +00:00
Viktor Szakats
388945fedf 2010-07-05 00:57 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbver.c
  * src/rtl/Makefile    [t]
  * src/rdd/Makefile    [t]
  * include/hbdefs.h
  * include/hbsetup.h
  + config/bsd/pcc.mk
  * config/rules.mk     [t]
    + First step to add support for pcc (Portable C Compiler) on bsd.
    ; Patch by Tamas Tevesz.
    ; TODO: ? I guess the -gc3 and -l disabler hacks are temporary.
            (in files marked with [t])
2010-07-04 22:58:12 +00:00
Viktor Szakats
1ae025e9e2 2010-07-04 12:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/cdpapi.c
  * src/rtl/cdpapihb.c
  * include/hbapicdp.h
    + Added new low level hb_cdpList() function.
    ! cdp list generation logic now protected with mutex.
    ! HB_CDPLIST() .prg level function moved to cdpapihb.c,
      thus clearing the last pending TOFIX here regarding
      layer separation. Low level can now be moved to
      common lib (or is there anything else missing?).

  * contrib/hbqt/hbmk2_plugin_qt.prg
    * Minor correction in one stdalone error msg.
2010-07-04 10:23:11 +00:00
Viktor Szakats
b83ec8bb29 2010-07-02 15:04 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/pp/ppcore.c
  * include/hbpp.h
    + Added #pragma __binarystreaminclude. Works the same as
      other stream include pragmas, but here it the size limit
      is ~16MB and it accepts binary files for input.
    ; TODO: The encoding now contains high ascii chars which
            is unsafe as it can be converted by editors thus
            corrupting the embedded binary.

  * contrib/hbqt/hbmk2_plugin_qt.prg
    % Optimized .qrc to .prg converter to not split the lines.
      Harbour is able to compile very long source lines, pbly 
      todays patch from Przemek was needed for that. Nice!
2010-07-02 13:04:35 +00:00
Przemyslaw Czerpak
b87112ecde 2010-07-02 14:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/src/pp/ppcore.c
  * harbour/src/pp/hbpp.c
  * harbour/src/pp/pplib.c
  * harbour/src/compiler/complex.c
    * eliminated HB_USHORT limit for maximum token size
    * changed prefix of HB_SIZE numeric values from 'ul' to 'n'

  * harbour/contrib/rddads/adsfunc.c
    + added wrapper to AdsGetMemoDataType() function
2010-07-02 12:21:18 +00:00
Viktor Szakats
4be088168f 2010-07-01 00:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/std.ch
    + Added .hbv version of SAVE TO / RESTORE FROM commands.
      Use 'SAVE HBV ...' and 'RESTORE HBV ...' commands to
      use Harbour specific mem file format (with .hbv extension).
      The file format supports long variable names and much
      larger amount of data then Clipper compatible .mem files. 
      The file format is NOT compatible with Clipper.
    ; Pls review. This is my first time extending Harbour
      commands, plus I'm not very much a command freak, so
      maybe there is more natural (and compatible) way to
      extend existing SAVE/RESTORE command.

  * utils/hbrun/hbrun.prg
    * Variable scope cleanup to prev.
2010-06-30 22:47:20 +00:00
Viktor Szakats
26ca5da0db 2010-06-30 19:17 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/extend.c
  * include/hbapi.h
    + Added hb_retclen_const() to return constant byte arrays.

  * contrib/hbqt/hbmk2_plugin_qt.prg
  * contrib/hbide/hbide.prg
    + Implemented pure Harbour .c QT resource support.
      Commented, waiting for HBQT API to load resources
      from byte stream.
      This method will create a pure .c source files
      from binary QT resource, so it doesn't require
      QT headers to be present.

  * contrib/hbqt/hbmk2_plugin_qt.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideskeletons.prg
    * Changed 'ui' prefix to 'hbqtui_' for compiled .ui
      file entry function names.

  * utils/hbmk2/hbmk2.prg
    + Added hbmk2_FNameToSymbol() plugin function to convert
      filename to Harbour symbol name.

  * contrib/hbide/hbide.env
    - Deleted QT setup from compilers where QT is not supported.
2010-06-30 17:18:38 +00:00
Mindaugas Kavaliauskas
8d2c665f98 2010-06-28 17:22 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/include/hbcom.ch
  * harbour/rtl/hbcom.c
    * implemented new error code HB_COM_ALREADYOPEN in hb_comOpen()
  * harbour/contrib/hbct/ctcom1.c
    * changed COM_OPEN() behaviour to be compatible with HBCOM API 
      and original CT behaviour
2010-06-28 14:23:11 +00:00
Viktor Szakats
b38dbedf33 2010-06-27 00:36 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapicom.h
    ! Fixed missing HB_EXTERN_BEGIN/END
    + Added HB_EXTERN

  * external/patchup.prg
    ; Patch and log text by Tamas Tevesz:
    + don't let first `map' source be non-flat (would break
      tree top search)
    + on errors, also cite line numbers for easier makefile debugging
    + check and enforce destination files to fit in the 8+3 naming
      scheme
    + document (mis)features of, and requirements for `URL' + small
      clarifications
2010-06-26 22:39:46 +00:00
Viktor Szakats
f751b21d31 2010-06-25 00:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    + Added two new abstract types: HB_AREANO, HB_FIELDNO

  * src/rdd/wacore.c
  * src/rdd/dbcmd.c
  * src/rdd/dbcmd53.c
  * src/rdd/wafunc.c
    + Using above abstract types as casts to pacify long time 
      msvc warnings.
    + Using HB_USHORT cast to pacify msvc warnings in hb_rddList()
      and hb_rddRegister() (shouldn't these have 'int' parameters?)

  * contrib/xhb/xhb.hbp
    * Synced with actual file list.
2010-06-24 22:23:13 +00:00
Przemyslaw Czerpak
8434f5ab14 2010-06-24 23:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtinfo.ch
  * harbour/include/hbgtcore.h
  * harbour/src/rtl/hbgtcore.c
    + added HB_GTI_INKEYFILTER which allows to set/get codeblock used to
      filter inkey key codes. This codeblock receives as 1-st parameter
      actually processed inside INKEY() function key code. It should return
      final inkey code (it can be the same or 0 if key should be ignored.
      I.e. this code change key 'a' to 'B' and blocks 'c':

         hb_gtInfo( HB_GTI_INKEYFILTER, { | nKey |
                                          SWITCH nKey
                                             CASE ASC( 'a' )
                                                RETURN ASC( 'B' )
                                             CASE ASC( 'c' )
                                                RETURN '0'
                                          ENDSWITCH
                                          RETURN nKey
                                       } )

    + added HB_GTI_INKEYREAD which allows to set/get codeblock executed
      just before INKEY() reads key code from the GT typeahead buffer.
      If it returns non 0 numeric value then this value is returned instead
      as inkey code. Otherwise standard inkey procedure is activated and
      key code is read from the GT typeahead buffer.

  * harbour/include/hbextern.ch
  * harbour/src/rtl/inkey.c
    - removed HB_INKEYSETPREBLOCK() and HB_INKEYSETPOSTBLOCK() functions

  * harbour/contrib/xhb/Makefile
  * harbour/contrib/xhb/xhbgt.c
  + harbour/contrib/xhb/xhbinkey.prg
  * harbour/contrib/xhb/hbcompat.ch
    * updated emulation of xHarbour hb_SetInkeyBeforeBlock() and
      hb_SetInkeyAfterBlock() functions to use new HB_GTI_* functionality.
      Incompatibility warning!
      In Harbour timeout value passed to inkey() is correctly respected
      and not reset internally on each call to inkey after block.
      If inkey before block returns non 0 numeric value then it's not
      ignored but returned as INKEY() function result without touching
      GT typeahead buffer.
2010-06-24 21:21:48 +00:00
Viktor Szakats
73db2d44f1 2010-06-24 18:31 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/inkey.c
  * include/hbextern.ch
    + Enabled .prg level control function for pre/post INKEY() block
      with names below:
         HB_INKEYSETPREBLOCK([<bBlock>]) -> <bOldBlock>
         HB_INKEYSETPOSTBLOCK([<bBlock>]) -> <bOldBlock>

  * contrib/xhb/xhbgt.c
  * contrib/xhb/hbcompat.ch
    + Added translations for just enabled HB_INKEYSET*() functions
      to/from xhb function equivalents:
         HB_INKEYSETPREBLOCK() <-> HB_SETINKEYBEFOREBLOCK()
         HB_INKEYSETPOSTBLOCK() <-> HB_SETINKEYAFTERBLOCK()
2010-06-24 16:32:34 +00:00
Viktor Szakats
3d52caf679 2010-06-23 13:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/runner.c
    * Changed to use hex notation instead of octal in recent change.
      (see: 2010-02-20 01:03 UTC+0100, 2009-06-05 20:59 UTC+0200, 
      2008-11-09 11:48 UTC+0100)

  * include/hbdefs.h
    - Deleted HB_RECNO.
2010-06-23 11:03:05 +00:00
Przemyslaw Czerpak
46e9900a91 2010-06-23 12:47 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbextern.ch
  * harbour/src/vm/runner.c
    + added new PRG function
         HB_HRBSIGNATURE() -> <cSig>
      which returns HRB file signature
    + added internal function hb_hrbCheckSig() to keep HRB file
      signature checking in one place

  * harbour/include/hbextern.ch
  * harbour/src/vm/cmdarg.c
    + added new PRG function
         HB_ARGSHIFT( [<lProgName>] ) -> NIL
      which updates HB_ARG*() parameter list removing the 1-st one
      and replacing it by others. If <lProgName> is .T. then first
      non internal parameter is moved to hb_argv(0) (hb_progname())
      and all next are shifted.

  * harbour/utils/hbrun/hbrun.prg
    + when extension does not allow to recognize file type then check
      passed file signature. If it's HRB file then execute directly
      otherwise use it as PRG script.
      This modification allows to use any names (except the ones using
      known for HBRUN extensions like .hrb amd .dbf) as PRG script names.
    + Call HB_ARGSHIFT(.T.) to strip HBRUN executable file name from
      parameter list when PRG script or HRB file is executed
2010-06-23 10:47:41 +00:00
Viktor Szakats
7f09c4f387 2010-06-23 12:01 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    + Added new abstract type: HB_USIZ
      (temporary yet, may be needed in signedness transition)
2010-06-23 10:02:52 +00:00
Viktor Szakats
89ef883626 2010-06-23 11:59 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    + Added new abstract type: HB_RECNO.
      To replace HB_ULONG usage where it means record number.

  * src/vm/hvm.c
  * src/vm/cmdarg.c
  * include/hbapi.h
  * include/hbvm.h
    * HB_ULONG -> HB_U32 for VM flags.
2010-06-23 10:00:00 +00:00
Viktor Szakats
6ff29efe36 2010-06-23 00:07 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* harbour-win-spec
  * harbour-wce-spec
  * harbour.spec
  * include/hbver.h
  * config/global.mk
    + Changed version number to:
         2.1.0beta2 (from 2.1.0beta1)

  * src/compiler/hbopt.c
    * Formatting.
2010-06-22 22:10:26 +00:00
Viktor Szakats
496ea57dae 2010-06-22 16:50 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/dynsym.c
  * include/hbapi.h
    * Minimal cleanup: using HB_LONG in place of long, just to make
      this type usage easier to find in the future.

  * src/vm/hvm.c
    + Added cast to pacify long time msvc warning

  * src/vm/fm.c
    + Added pragmas to silence msvc64 warnings in dlmalloc (foreign) code.

  * src/vm/extend.c
    * Formatting.
2010-06-22 14:51:57 +00:00
Przemyslaw Czerpak
6a91dc422d 2010-06-22 11:14 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbdefs.h
    + added HB_VMUINT_MAX macro

  * harbour/src/vm/hvm.c
  * harbour/src/vm/itemapi.c
    % use conditional #if compilation for code which depends on
      HB_SIZE range. It should eliminate dummy code and pacify
      warnings in some compilers.
      NOTE: do not forget to update such #if conditions when we
            switch to signed HB_SIZE type.
2010-06-22 09:14:54 +00:00
Viktor Szakats
59a257f1b2 2010-06-22 05:38 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/estack.c
  * src/vm/debug.c
  * src/vm/hvm.c
  * src/vm/pvalue.c
  * src/vm/arrays.c
  * src/vm/proc.c
  * src/vm/memvars.c
  * src/vm/eval.c
  * src/vm/classes.c
  * include/hbstack.h
  * include/hbapi.h
    + Win64 support for HVM stack and other related internals.
      (HB_ULONG -> HB_SIZE, HB_LONG -> HB_ISIZ, long -> HB_ISIZ)
    + Using size API in debug functions.
    ; TOFIX: These two warnings remain in HVM (not counting dlmalloc):
      ---
      hvm.c(10695) : warning C4244: 'argument' : conversion from 'HB_MAXINT' to 'double', possible loss of data
      macro.c(1315) : warning C4310: cast truncates constant value
      ---

  * src/vm/eval.c
    * HB_FORNEXT() loop value can now be 64-bit values (was 32).

  * src/vm/runner.c
    * Formatting.
2010-06-22 03:39:16 +00:00
Viktor Szakats
00c92c1711 2010-06-22 04:48 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/common/expropt1.c
  * src/compiler/genc.c
  * src/compiler/gencc.c
  * include/hbexpra.c
    + Use HB_PFS format string for HB_SIZE values.

  * src/common/Makefile
    * Sorted.
2010-06-22 02:49:22 +00:00
Viktor Szakats
0cbaf318af 2010-06-22 04:35 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbhash.h
  * src/common/hbhash.c
    + hash key changed from HB_ULONG to HB_SIZE.

  * src/rtl/cdpapi.c
  * src/compiler/hbmain.c
    * Added casts to pacify long time msvc warnings.

  * include/hbapi.h
    ! HB_IS_VALID_INDEX() macro fixed to use HB_SIZE.
    * Changed hb_struRefer.offset structure member from HB_LONG to
      HB_ISIZ, fixing one pending Win64 type mismatch.
      The change doesn't modify HB_ITEM size.

  * include/hbapicls.h
    + Added parameter name to one declaration.
2010-06-22 02:36:40 +00:00
Viktor Szakats
a4935ea604 2010-06-22 03:20 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/ren_sfn.prg
  * external/minizip/Makefile
  * external/zlib/Makefile
  * external/sqlite3/Makefile
  - external/png/link.txt
  * external/png/Makefile
  * external/jpeg/Makefile
  - external/jpeg/link.txt
  - external/bzip2/ren_sfn.txt
  * external/bzip2/Makefile
  * external/libhpdf/Makefile
  - external/libhpdf/ren_sfn.txt
  - external/libhpdf/link.txt
  - external/pcre/ren_sfn.txt
  * external/pcre/Makefile
    + Integrated ren_sfn.txt logic into Makefiles.
    + Add link.txt content into Makefiles.
    + Added links for all libs which didn't have one.

  * include/vm.api
    - Deleted ULONG casts.
2010-06-22 01:21:46 +00:00
Viktor Szakats
a99675b91d 2010-06-22 01:15 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbcomp.h
  * include/hbcompdf.h
  * include/hbexpra.c
  * include/hbexprb.c
  * include/hbexprop.h
  * include/hbmacro.h
  * src/common/expropt1.c
  * src/common/expropt2.c
  * src/compiler/genc.c
  * src/compiler/gencc.c
  * src/compiler/harbour.y
  * src/compiler/harbour.yyc
  * src/compiler/hbdbginf.c
  * src/compiler/hbdead.c
  * src/compiler/hbident.c
  * src/compiler/hblbl.c
  * src/compiler/hbmain.c
  * src/compiler/hbopt.c
  * src/compiler/hbpcode.c
  * src/vm/macro.c
    + Adding Win64 support for compiler/macro subsystems.
      * HB_ULONG -> HB_SIZE where applicable.
      * HB_LONG -> HB_ISIZ where applicable.
      * Some now unnecessary cast deleted.
      * hb_compExprAsStringLen() return value changed to HB_SIZE from int.
      * hb_compNOOPfill() 3rd parameter changed to HB_ISIZ from int.
      - Deleted unused hb_compExprMacroListLen().
    ; TOFIX: Use '$<lNumber>$' (or maybe newly added sNumber)
             instead of '$<iNumber>$' in .y code.
             Przemek, what do you think?

  * src/compiler/Makefile
    * C files sorted.

  * src/vm/hvm.c
    ! hb_vmStaticsCount() changed to use HB_SIZE instead of
      HB_ULONG. Fixing pending warnings.

  * include/hbapi.h
    * Changed hb_struEnum.offset structure member from HB_LONG
      to HB_ISIZ, fixing one more pending Win64 type mismatch
      problem. The change doesn't modify HB_ITEM size.
      Please verify me.

  * src/vm/classes.c
    ! Using size API after above change.
    ; QUESTION: In itemapi asEnum.offset is stored using
                hb_itemPutNInt(). Should this be changed to
                hb_itemPutNS()?

  * contrib/hbct/ctstr.c
    + Cleaned away some HB_ULONG casts and using HB_PFS format
      strings instead.

  * contrib/hbct/tab.c
    ! Fixed regression from 2010-06-20 12:34 UTC+0200 Viktor Szakats,
      by deleting now unnecessary casts. Shown by mingw64 4.6.0exp.
      I'd appreciate if someone could check me!!
2010-06-21 23:20:16 +00:00
Viktor Szakats
4a57af0fc7 2010-06-21 22:12 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapi.h
    * Changed hb_struRefer.value structure member from HB_LONG to
      HB_ISIZ, fixing one pending Win64 type mismatch also signaled
      by msvc64 warning. The change doesn't modify HB_ITEM size.
      Please verify me.
2010-06-21 20:12:56 +00:00
Viktor Szakats
722c306052 2010-06-20 19:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/cmdarg.c
  * src/vm/fm.c
  * src/nortl/nortl.c
  * src/rtl/fmhb.c
  * include/hbapi.h
    + hb_xquery() return value changed from HB_ULONG to HB_SIZE.
      Also fixes all msvc64 warnings
2010-06-20 17:30:31 +00:00
Viktor Szakats
337219b053 2010-06-20 19:16 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/macro.c
  * src/vm/estack.c
  * src/vm/dynsym.c
  * src/vm/hvm.c
  * src/vm/set.c
  * src/rdd/wafunc.c
  * src/compiler/hbmain.c
  * src/compiler/cmdcheck.c
  * src/compiler/genc.c
  * src/compiler/gencc.c
  * src/compiler/harbour.yyc
  * src/compiler/harbour.y
  * include/hbexprb.c
    + Added strlen() casts to pacify msvc64 warnings

  * src/vm/cmdarg.c
    ! Readded one '( void * )' cast. (I've only tested C++ mode
      on Windows, this fell into *nix code). Thanks for checking it.

  * src/rtl/hbgtcore.c
    + HB_SIZE -> HB_UINT, plus added necessary casts. Signaled by warnings

  * contrib/hbmisc/spd.c
    + HB_SIZE -> HB_UINT, plus added necessary casts. Signaled by warnings
    ; In case of this function it'd be probably better to make it fully
      HB_SIZE compatible, instead of stepping back like this.

  * src/rdd/sdf1.c
  * src/rdd/delim1.c
    + Added casts to pacify some msvc64 warnings

  * src/rdd/hsx/hsx.c
    ! HB_SIZE -> HB_LONG. Resolves msvc64 warnings.
2010-06-20 17:17:23 +00:00
Viktor Szakats
21d22afdbd 2010-06-20 17:41 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/pp/hbpp.c
  * src/vm/cmdarg.c
  * src/rtl/defpath.c
  * src/rtl/hbstrfmt.c
  * src/rtl/dates.c
  * src/rtl/hbinet.c
  * src/rtl/gtpca/gtpca.c
  * src/rtl/file.c
  * src/compiler/ppcomp.c
     + Added strlen() casts to pacify warnings

  * src/vm/hashfunc.c
    + Using hb_vmPushSize() to add HB_SIZE support for Win64

  * src/vm/debug.c
    ! HB_SIZE -> HB_LONG. Signaled by warning

  * include/hbvm.h
  * src/vm/hvm.c
    + Added hb_vmPushSize()
      Please review, I copied hb_vmPushHBLong()

  * src/common/hbfopen.c
    + Suppressed MS warning about "unsafe" fopen()
      Also readded fopen_s() code, which is made inactive permanently.

  * include/hbexprop.h
    + Added argument names to function declarations.

  * contrib/hbct/ctwin.c
    + HB_SIZE -> HB_UINT, plus added necessary casts. Signaled by warning.

  * contrib/xhb/xhbarr.c
    + HB_SIZE -> int, plus added necessary casts. Signaled by warning.

  * contrib/hbsqlit3/hbsqlit3.c
    - Suppressed MS warning about "unsafe" fopen()
2010-06-20 15:42:56 +00:00
Viktor Szakats
7a80cb71e6 2010-06-20 12:34 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbct/tab.c
  * src/pp/ppcore.c
  * include/hbdefs.h
    ! Pacifying these very old msvc warnings:
      'warning C4310: cast truncates constant value'
    ; Check me pls.
    ; TOFIX: These are the remaining ones:
      ---
      macro.c(1315) : warning C4310: cast truncates constant value
      ../../../dbffpt1.c(505) : warning C4310: cast truncates constant value
      ../../../dbffpt1.c(888) : warning C4310: cast truncates constant value
      ../../../dbffpt1.c(1625) : warning C4310: cast truncates constant value
      ../../../dbffpt1.c(1688) : warning C4310: cast truncates constant value
      ../../../sxcompr.c(697) : warning C4310: cast truncates constant value
      ../../../sxcompr.c(697) : warning C4310: cast truncates constant value
      ../../../sxcompr.c(697) : warning C4310: cast truncates constant value
      ../../../netiosrv.c(714) : warning C4310: cast truncates constant value
      ../../../netiosrv.c(714) : warning C4310: cast truncates constant value
      ../../../netiosrv.c(714) : warning C4310: cast truncates constant value
      ---

  * src/rtl/gtchrmap.c
    * Whitspace formatting
2010-06-20 10:50:32 +00:00
Viktor Szakats
d442c6fee9 2010-06-20 11:06 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/cmdarg.c
  * src/common/hbffind.c
  * src/common/hbtrace.c
  * src/common/hbfsapi.c
  * src/common/hbhash.c
  * src/rtl/setkey.c
  * src/compiler/hbmain.c
  * src/compiler/hbcmplib.c
  * src/compiler/harbour.yyc
  * src/compiler/harbour.y
  * include/hbapi.h
  * contrib/hbmemio/memio.c
  * contrib/hbhpdf/harupdf.c
  * contrib/hbpgsql/postgres.c
  * examples/pp/hbppcore.c
  * examples/pp/hbppcomp.c
    * Deleted unnecessary '( void * )' casts.
      Pls Check me.
2010-06-20 09:09:08 +00:00
Viktor Szakats
d4d9a5f4e5 2010-06-19 16:24 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbdefs.h
    + Adjusted HB_SIZE_MAX value for Win64 after recent changes.

  * src/vm/hashfunc.c
  * src/vm/hvm.c
  * src/debug/dbgentry.c
  * src/common/hbwin.c
  * src/common/hbfsapi.c
  * src/common/hbstr.c
  * src/rtl/lennum.c
  * src/rtl/hbzlibgz.c
  * src/rtl/hbtoken.c
  * src/rtl/hbmd5.c
  * src/rtl/hbregex.c
  * src/rtl/hbzlib.c
  * src/rtl/gtpca/gtpca.c
  * contrib/hbct/screen2.c
  * contrib/hbct/token2.c
  * contrib/hbct/charsprd.c
  * contrib/hbct/charlist.c
  * contrib/hbct/charsort.c
  * contrib/hbct/maxline.c
  * contrib/hbct/wordrepl.c
  * contrib/hbct/charrepl.c
  * contrib/hbct/charswap.c
  * contrib/hbct/pos1.c
  * contrib/hbct/token1.c
  * contrib/hbct/charmirr.c
  * contrib/hbct/relation.c
  * contrib/hbct/atnum.c
  * contrib/hbct/count.c
  * contrib/hbct/ctstrfil.c
  * contrib/hbct/posdiff.c
  * contrib/hbct/addascii.c
  * contrib/hbct/pos2.c
  * contrib/hbct/numat.c
  * contrib/hbct/atrepl.c
  * contrib/hbct/print.c
  * contrib/xhb/txtline.c
  * contrib/hbgt/strright.c
  * contrib/hbgt/chrtotal.c
  * contrib/hbgt/strcount.c
  * contrib/hbgt/ascposgt.c
  * contrib/hbgt/strleft.c
  * contrib/hbgt/chrcount.c
  * contrib/hbgt/strcspn.c
  * contrib/hbgt/atdiff.c
  * contrib/hbbz2/hbbz2.c
  * contrib/hbmemio/memio.c
  * contrib/hbclipsm/num.c
  * contrib/hbclipsm/date.c
  * contrib/hbmisc/stringsx.c
  * contrib/hbmisc/spd.c
    + Using new size API.
      NOTE: This will be a longer process as there many current variations
            to pass sizes (*nint(), *ni(), *nl()) and there is no warning
            issued in several of these.
            Please also note that not all updates files became fully clean.
            I will post a list of remaining warnings.
    + Type cleanup:
        int -> HB_ISIZ
    + Added casts at component boundaries.
    % Deleted unnecessary '( HB_SIZE )' casts.
    + ULONG_MAX -> HB_SIZE_MAX
    * 'hb_retl( 0 )' -> 'hb_retl( HB_FALSE )'
    * 'hb_retl( 1 )' -> 'hb_retl( HB_TRUE )'
    ! CSETSAFETY() fixed to return and accept logical parameters
      instead of returning numeric, checking for logical but retrieving
      numeric.

  * src/common/hbwin.c
    * DWORD -> int to be in sync with Windows API declarations.

  ; NOTE: I left out RDDs and VM from the areas I scanned, please
          modify them. F.e. we will need a hb_vmPushSize().

  ; Peer review (by as much eyeballs as possible) is appreciated.
2010-06-19 14:26:56 +00:00
Viktor Szakats
0c2f806800 2010-06-19 14:12 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/itemapi.c
  * src/vm/arrays.c
  * src/vm/extend.c
  * include/hbapi.h
  * include/hbapiitm.h
    * Changed new size API calls to use HB_ISIZ instead of HB_SIZE.
      This is required until we switch HB_SIZE to be signed value,
      and to not step backwards plus keep signedness compatibility
      with 'long' API calls.

  * contrib/xhb/xhbhasha.c
  * contrib/hbcurl/hbcurl.c
    + Using size API.

  * contrib/xhb/xhbhasha.c
    ! HAAGETREALPOS(): Fixed return value to be numeric.
2010-06-19 12:15:22 +00:00
Viktor Szakats
f798129d72 2010-06-19 13:41 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapi.h
  * include/hbapiitm.h
  * src/vm/itemapi.c
  * src/vm/arrays.c
  * src/vm/extend.c
    + Added hb_storvns().
    + Added hb_parvns().
    ; TOFIX: hb_itemPutNS() gives these (not quite unexpected) mingw warnings:
             ---
             itemapi.c:993:8: warning: comparison between signed and unsigned integer expressions
             itemapi.c:998:38: warning: comparison between signed and unsigned integer expressions
             itemapi.c:1004:35: warning: comparison between signed and unsigned integer expressions
             itemapi.c:1004:7: warning: comparison is always false due to limited range of data type
             ---

  * src/rtl/philes.c
  * src/rtl/mlcfunc.c
  * src/rtl/rat.c
    + Using size APIs.
    % Also deleting '( HB_SIZE )' casts along the way.

  * src/rtl/oemansi.c
    ! Cast to make Win64 happy. Quite interesting that almost no
      Windows API don't support proper 64-bit strings, so here
      Windows will be the limitation, not Harbour.
2010-06-19 11:49:23 +00:00
Viktor Szakats
8866af5c97 2010-06-19 13:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/arrayshb.c
  * src/rtl/replic.c
  * src/rtl/padr.c
  * src/rtl/padc.c
  * src/rtl/len.c
  * src/rtl/padl.c
  * src/rtl/right.c
  * src/rtl/left.c
  * src/rtl/space.c
  * contrib/xhb/xhbat.c
  * contrib/xhb/xhbarr.c
    + Started to use size APIs. Quite random, just to test the
      feeling. Converted functions can properly handle > 4GB
      strings and no. of array elements in .prg code.
      (on Win64)

  * include/hbapiitm.h
    ! Missed to do the renaming in declaration.
2010-06-19 11:18:10 +00:00
Viktor Szakats
73eae980a9 2010-06-19 12:52 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/itemapi.c
  * src/vm/arrays.c
  * include/hbapi.h
    * Renamed hb_arrayGetNSize(), hb_arraySetNSize(),
      hb_itemGetNSize(), hb_itemPutNSize() functions to
      hb_arrayGetNS(), hb_arraySetNS(),
      hb_itemGetNS(), hb_itemPutNS().

  * src/rtl/at.c
  * src/rtl/ati.c
  * contrib/xhb/xhbat.c
    * Started to use hb_*ns() instead of hb_*nl() for size values.
2010-06-19 10:53:28 +00:00
Viktor Szakats
aed2388134 2010-06-19 12:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/extend.c
  * include/hbapi.h
    * hb_*nsize() functions renamed to hb_*ns():
        hb_parns(), hb_retns(), hb_storns()
    + Added hb_parnsdef().
2010-06-19 10:46:53 +00:00