2017-09-13 12:38 UTC Viktor Szakats (vszakats users.noreply.github.com)
- doc/en/hashes.txt
- doc/en/rdddb.txt
* .gitattributes
* contrib/3rd/sqlite3/sqlite3.hbp
* contrib/hbbz2/3rd/bz2/bz2.hbp
* contrib/hbexpat/3rd/expat/expat.hbp
* contrib/hbfimage/hbfimage.hbp
* contrib/hbhpdf/3rd/libhpdf/libhpdf.hbp
* contrib/hblzf/3rd/liblzf/lzf.hbp
* contrib/hbmxml/3rd/minixml/mxml.hbp
* contrib/hbmzip/3rd/minizip/minizip.hbp
* contrib/hbodbc/hbodbc.hbp
* contrib/hbtinymt/3rd/tinymt/tinymt.hbp
* contrib/hbxdiff/3rd/libxdiff/xdiff.hbp
* contrib/sddsqlt3/tests/test.prg
* ChangeLog.txt
* doc/Makefile
* doc/oldnews.txt
* extras/ps32/readme.txt
* extras/superlib/readme.txt
* src/3rd/jpeg/Makefile
* src/3rd/pcre/Makefile
* src/3rd/png/Makefile
* src/3rd/tiff/Makefile
* src/3rd/zlib/Makefile
+ contrib/hbsms/DEPRECATED.txt
+ contrib/hbtpathy/DEPRECATED.txt
+ contrib/xhb/WARNING.txt
* contrib/3rd/sqlite3/sqlite3.dif -> contrib/3rd/sqlite3/sqlite3.diff
* contrib/hbbz2/3rd/bz2/bz2.dif -> contrib/hbbz2/3rd/bz2/bz2.diff
* contrib/hbexpat/3rd/expat/expat.dif -> contrib/hbexpat/3rd/expat/expat.diff
* contrib/hbhpdf/3rd/libhpdf/libhpdf.dif -> contrib/hbhpdf/3rd/libhpdf/libhpdf.diff
* contrib/hblzf/3rd/liblzf/liblzf.dif -> contrib/hblzf/3rd/liblzf/liblzf.diff
* contrib/hbmxml/3rd/minixml/minixml.dif -> contrib/hbmxml/3rd/minixml/minixml.diff
* contrib/hbmzip/3rd/minizip/minizip.dif -> contrib/hbmzip/3rd/minizip/minizip.diff
* contrib/hbtinymt/3rd/tinymt/tinymt.dif -> contrib/hbtinymt/3rd/tinymt/tinymt.diff
* contrib/hbxdiff/3rd/libxdiff/libxdiff.dif -> contrib/hbxdiff/3rd/libxdiff/xdiff.diff
* contrib/sddsqlt3/tests/test.sq3 -> contrib/sddsqlt3/tests/test.sqlite3
* extras/dbu/dbu52.dif -> extras/dbu/dbu52.patch
* extras/dbu/dbu53.dif -> extras/dbu/dbu53.patch
* extras/ps32/ps32.dif -> extras/ps32/ps32.patch
* extras/rl/rl.dif -> extras/rl/rl.patch
* extras/superlib/superlib.dif -> extras/superlib/superlib.patch
* extras/template/readme.txt -> extras/template/README.md
* src/3rd/hbdossrl/README -> src/3rd/hbdossrl/README.txt
* src/3rd/jpeg/jpeg.dif -> src/3rd/jpeg/jpeg.diff
* src/3rd/pcre/pcre.dif -> src/3rd/pcre/pcre.diff
* src/3rd/png/png.dif -> src/3rd/png/png.diff
* src/3rd/tiff/tiff.dif -> src/3rd/tiff/tiff.diff
* src/3rd/zlib/zlib.dif -> src/3rd/zlib/zlib.diff
* tests/hbpptest/_pp_test.prg -> tests/hbpp/_pp_test.prg
* tests/hbpptest/compare.hb -> tests/hbpp/compare.hb
* tests/hbpptest/hbpptest.hbp -> tests/hbpp/hbpptest.hbp
* tests/hbpptest/hbpptest.prg -> tests/hbpp/hbpptest.prg
* tests/tflock.prg -> tests/flock.prg
* contrib/hbfimage/fi_wrp.c -> contrib/hbfimage/core.c
* contrib/hbodbc/browodbc.prg -> contrib/hbodbc/browse.prg
* doc/cmdline.txt -> doc/cmdline.md
* extras/dbu/readme.txt -> extras/dbu/README.md
* extras/rl/readme.txt -> extras/rl/README.md
* some file renames synced with 3.4 fork, plus the content of
some of them. Some new text files added as well.
Note, 3rd party code rediffing won't work anymore on 8.3
filesystems.
This commit is contained in:
@@ -4,7 +4,7 @@ DOC_FILES := \
|
||||
c_std.txt \
|
||||
class_tp.txt \
|
||||
clipper.txt \
|
||||
cmdline.txt \
|
||||
cmdline.md \
|
||||
cmpopt.txt \
|
||||
codebloc.txt \
|
||||
codestyl.txt \
|
||||
|
||||
98
doc/cmdline.md
Normal file
98
doc/cmdline.md
Normal file
@@ -0,0 +1,98 @@
|
||||
# Harbour switch handling spec
|
||||
|
||||
This spec goes for `CLIPPERCMD`, `HARBOURCMD`, Harbour compiler and
|
||||
`#pragma` directives in the source code.
|
||||
|
||||
The command-line always overrides the envvar.
|
||||
|
||||
Note that some switches are not accepted in envvar, some others in
|
||||
`#pragma`s.
|
||||
|
||||
First the parser should start to step through all the tokens in the
|
||||
string separated by whitespace. (or just walk through all `argv[]`)
|
||||
|
||||
1. If the token begins with `-`, it should be treated as a new style switch.
|
||||
|
||||
One or more switch characters can follow this. The `-` sign inside the
|
||||
token will turn off the switch.
|
||||
|
||||
If the switch has an argument all the following characters are treated
|
||||
as part of the argument.
|
||||
|
||||
The `/` sign has no special meaning here.
|
||||
|
||||
```
|
||||
Switch Resulting options
|
||||
|
||||
-wn ( W N )
|
||||
-w-n ( !W N )
|
||||
-wi/harbour/include/ ( W I=/harbour/include/ )
|
||||
-wi/harbour/include/n ( W I=/harbour/include/n )
|
||||
-wes0n ( W ES=0 N )
|
||||
-wen ( W [invalid switch: e] N )
|
||||
-wesn ( W ES=Default(0) N )
|
||||
-wses ( W S ES=Default(0) )
|
||||
-wess ( W ES=Default(0) S )
|
||||
- ( [invalid switch] )
|
||||
-w-n-p ( !W !N P )
|
||||
-w-n-p- ( !W !N !P )
|
||||
|
||||
-w- -w -w- ( finally: !W )
|
||||
```
|
||||
|
||||
2. If the token begins with `/`, it should be treated as a compatibility
|
||||
style switch.
|
||||
|
||||
The parser scans the token for the next `/` sign or `EOS` and treats the
|
||||
resulting string as one switch.
|
||||
|
||||
This means that a switch with an argument containing `/` sign has some
|
||||
limitations. This may be solved by allowing the usage of quote characters.
|
||||
This is mostly a problem on systems which use `/` as path separator.
|
||||
|
||||
The `-` sign has no special meaning here, it cannot be used to disable
|
||||
a switch.
|
||||
|
||||
```
|
||||
Switch Resulting options
|
||||
|
||||
/w/n ( W N )
|
||||
/wo/n ( [invalid switch: wo] N )
|
||||
/ihello/world/ ( I=hello [invalid switch: world] [invalid switch: /] )
|
||||
/i"hello/world/"/w ( I=hello/world/ W )
|
||||
/ihello\world\ ( I=hello\world\ )
|
||||
```
|
||||
|
||||
3. If the token begins with anything else it should be skipped.
|
||||
|
||||
The Harbour switches are always case insensitive.
|
||||
|
||||
In the Harbour command-line the two style can be used together:
|
||||
```
|
||||
harbour -wnes2 /gc0/q0 -iC:\hb\include
|
||||
```
|
||||
|
||||
Exceptions:
|
||||
|
||||
- Handling of the `/CREDIT` undocumented switch on Harbour command-line
|
||||
is unusual, check the current code for this.
|
||||
|
||||
- `CLIPPER`, `HARBOUR` envvars and Harbour application command-line
|
||||
parsing is a different beast, see `src/vm/cmdarg.c` for a NOTE.
|
||||
|
||||
Just some examples for the various accepted forms:
|
||||
|
||||
```
|
||||
//F20 == /F20 == F20 == F:20 == F20X
|
||||
F20//F:30000000 NOIDLE
|
||||
F0NOIDLEX10
|
||||
SQUAWKNOIDLE
|
||||
```
|
||||
|
||||
`//` should always be used on the command-line.
|
||||
|
||||
---
|
||||
Copyright (c) 1999-2009 Viktor Szakats (vszakats.net/harbour)
|
||||
Licensed under Creative Commons Attribution-ShareAlike 4.0:
|
||||
<https://creativecommons.org/licenses/by-sa/4.0/>
|
||||
See LICENSE.txt
|
||||
@@ -1,98 +0,0 @@
|
||||
Harbour switch handling spec
|
||||
============================
|
||||
|
||||
This spec goes for CLIPPERCMD, HARBOURCMD, Harbour
|
||||
compiler and #pragma directives in the source code.
|
||||
|
||||
The command line always overrides the envvar.
|
||||
|
||||
Note that some switches are not accepted in envvar,
|
||||
some others in #pragmas.
|
||||
|
||||
First the parser should start to step through
|
||||
all the tokens in the string separated by
|
||||
whitespace. (or just walk through all argv[])
|
||||
|
||||
1.) If the token begins with "-", it
|
||||
should be treated as a new style switch.
|
||||
|
||||
One or more switch characters can follow
|
||||
this. The "-" sign inside the token
|
||||
will turn off the switch.
|
||||
|
||||
If the switch has an argument all the following
|
||||
characters are treated as part of the argument.
|
||||
|
||||
The "/" sign has no special meaning here.
|
||||
|
||||
Switch Resulting options
|
||||
|
||||
-wn ( W N )
|
||||
-w-n ( !W N )
|
||||
-wi/harbour/include/ ( W I=/harbour/include/ )
|
||||
-wi/harbour/include/n ( W I=/harbour/include/n )
|
||||
-wes0n ( W ES=0 N )
|
||||
-wen ( W [invalid switch: e] N )
|
||||
-wesn ( W ES=Default(0) N )
|
||||
-wses ( W S ES=Default(0) )
|
||||
-wess ( W ES=Default(0) S )
|
||||
- ( [invalid switch] )
|
||||
-w-n-p ( !W !N P )
|
||||
-w-n-p- ( !W !N !P )
|
||||
|
||||
-w- -w -w- ( finally: !W )
|
||||
|
||||
2.) If the token begins with "/", it
|
||||
should be treated as a compatibility style switch.
|
||||
|
||||
The parser scans the token for the next "/" sign or EOS
|
||||
and treats the resulting string as one switch.
|
||||
|
||||
This means that a switch with an argument containing
|
||||
"/" sign has some limitations. This may be solved by
|
||||
allowing the usage of quote characters. This is mostly
|
||||
a problem on systems which use "/" as path separator.
|
||||
|
||||
The "-" sign has no special meaning here, it can't be
|
||||
used to disable a switch.
|
||||
|
||||
Switch Resulting options
|
||||
|
||||
/w/n ( W N )
|
||||
/wo/n ( [invalid switch: wo] N )
|
||||
/ihello/world/ ( I=hello [invalid switch: world] [invalid switch: /] )
|
||||
/i"hello/world/"/w ( I=hello/world/ W )
|
||||
/ihello\world\ ( I=hello\world\ )
|
||||
|
||||
3.) If the token begins with anything else it should
|
||||
be skipped.
|
||||
|
||||
The Harbour switches are always case insensitive.
|
||||
|
||||
In the Harbour commandline the two style can be used together:
|
||||
harbour -wnes2 /gc0/q0 -iC:\hello
|
||||
|
||||
Exceptions:
|
||||
|
||||
- Handling of the /CREDIT undocumented switch
|
||||
on Harbour command line is unusual, check the current code
|
||||
for this.
|
||||
|
||||
- The CLIPPER, HARBOUR and Harbour application
|
||||
command line parsing is a different beast,
|
||||
see cmdarg.c for a NOTE.
|
||||
|
||||
Just some examples for the various accepted forms:
|
||||
//F20 == /F20 == F20 == F:20 == F20X
|
||||
//TMPPATH:C:\hello
|
||||
F20//TMPPATH:/temp///F:30000000 NOIDLE
|
||||
F0NOIDLEX10
|
||||
SQUAWKNOIDLE
|
||||
|
||||
"//" should always be used on the command line.
|
||||
|
||||
|
||||
[ Copyright (c) 1999-2009 Viktor Szakats (vszakats.net/harbour)
|
||||
Licensed under Creative Commons Attribution-ShareAlike 4.0:
|
||||
<https://creativecommons.org/licenses/by-sa/4.0/>
|
||||
See LICENSE.txt ]
|
||||
@@ -1,967 +0,0 @@
|
||||
/*
|
||||
* Copyright 2009 April White <bright.tigra gmail.com>
|
||||
* Copyright 2007 Przemyslaw Czerpak <druzus / at / priv.onet.pl>
|
||||
*
|
||||
* See COPYING.txt for licensing terms.
|
||||
*
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
$TEMPLATE$
|
||||
Function
|
||||
$NAME$
|
||||
hb_Hash()
|
||||
$CATEGORY$
|
||||
API
|
||||
$SUBCATEGORY$
|
||||
Hash table
|
||||
$ONELINER$
|
||||
Returns a hash table
|
||||
$SYNTAX$
|
||||
hb_Hash( [ <Key1>, <Value1> ], [ <KeyN>, <ValueN> ], ... ) -> hsTable
|
||||
$ARGUMENTS$
|
||||
<Key1> entry key;
|
||||
can be of type: number, date, datetime, string, pointer
|
||||
|
||||
<Value1> entry value; can be of type: block, string, numeric, date/datetime, logical, nil, pointer, array, hash table
|
||||
|
||||
Equivalent to:
|
||||
hsTable := { => }
|
||||
hsTable := { <Key1> => <Value1>, <Key2> => <Value2>, <KeyN> => <ValueN> }
|
||||
$RETURNS$
|
||||
A hash table built from the initial key/value pairs
|
||||
$DESCRIPTION$
|
||||
|
||||
$EXAMPLES$
|
||||
|
||||
$STATUS$
|
||||
R
|
||||
$COMPLIANCE$
|
||||
H
|
||||
$PLATFORMS$
|
||||
|
||||
$FILES$
|
||||
|
||||
$SEEALSO$
|
||||
|
||||
$END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
$TEMPLATE$
|
||||
Function
|
||||
$NAME$
|
||||
hb_HHasKey()
|
||||
$CATEGORY$
|
||||
API
|
||||
$SUBCATEGORY$
|
||||
Hash table
|
||||
$ONELINER$
|
||||
Determines whether a hash table has an entry with a give key
|
||||
$SYNTAX$
|
||||
hb_HHasKey( <hsTable>, <Key> ) -> lExists
|
||||
$ARGUMENTS$
|
||||
<hsTable> a hash table
|
||||
|
||||
<Key> a key value to be queried for;
|
||||
can be of type: number, date, datetime, string, pointer
|
||||
$RETURNS$
|
||||
A logical value indicating whether the key exists within the hash table
|
||||
$DESCRIPTION$
|
||||
|
||||
$EXAMPLES$
|
||||
|
||||
$STATUS$
|
||||
R
|
||||
$COMPLIANCE$
|
||||
H
|
||||
$PLATFORMS$
|
||||
|
||||
$FILES$
|
||||
|
||||
$SEEALSO$
|
||||
|
||||
$END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
$TEMPLATE$
|
||||
Function
|
||||
$NAME$
|
||||
hb_HPos()
|
||||
$CATEGORY$
|
||||
API
|
||||
$SUBCATEGORY$
|
||||
Hash table
|
||||
$ONELINER$
|
||||
Locates the index of a key within a hash table
|
||||
$SYNTAX$
|
||||
hb_HPos( <hsTable>, <Key> ) -> nPosition
|
||||
$ARGUMENTS$
|
||||
<hsTable> a hash table
|
||||
|
||||
<Key> key for which its position is to be determined;
|
||||
can be of type: number, date, datetime, string, pointer
|
||||
$RETURNS$
|
||||
A integer number being the index position of the key within the hash table.
|
||||
|
||||
TODO: what is the return value if the key does not exist? zero (0)? RTE?
|
||||
$DESCRIPTION$
|
||||
|
||||
$EXAMPLES$
|
||||
|
||||
$STATUS$
|
||||
R
|
||||
$COMPLIANCE$
|
||||
H
|
||||
$PLATFORMS$
|
||||
|
||||
$FILES$
|
||||
|
||||
$SEEALSO$
|
||||
|
||||
$END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
$TEMPLATE$
|
||||
Function
|
||||
$NAME$
|
||||
hb_HGet()
|
||||
$CATEGORY$
|
||||
API
|
||||
$SUBCATEGORY$
|
||||
Hash table
|
||||
$ONELINER$
|
||||
Returns a hash value
|
||||
$SYNTAX$
|
||||
hb_HGet( <hsTable>, <Key> ) -> <Value>
|
||||
$ARGUMENTS$
|
||||
<hsTable> a hash table
|
||||
|
||||
<Key> key to be retrieve from the hash table;
|
||||
can be of type: number, date, datetime, string, pointer
|
||||
$RETURNS$
|
||||
Either the value within the hash table for the given key.
|
||||
|
||||
An array access error occurs of the key is not found
|
||||
$DESCRIPTION$
|
||||
|
||||
$EXAMPLES$
|
||||
|
||||
$STATUS$
|
||||
R
|
||||
$COMPLIANCE$
|
||||
H
|
||||
$PLATFORMS$
|
||||
|
||||
$FILES$
|
||||
|
||||
$SEEALSO$
|
||||
|
||||
$END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
$TEMPLATE$
|
||||
Function
|
||||
$NAME$
|
||||
hb_HGetDef()
|
||||
$CATEGORY$
|
||||
API
|
||||
$SUBCATEGORY$
|
||||
Hash table
|
||||
$ONELINER$
|
||||
Returns a hash value, or a default value if the key is not present
|
||||
$SYNTAX$
|
||||
hb_HGetDef( <hsTable>, <Key>, [<DefaultValue>] ) -> <Value>
|
||||
$ARGUMENTS$
|
||||
<hsTable> a hash table
|
||||
|
||||
<Key> key to be retrieve from the hash table;
|
||||
can be of type: number, date, datetime, string, pointer
|
||||
|
||||
<DefaultValue> a default value to be returned if the
|
||||
hash table does not contain the key
|
||||
$RETURNS$
|
||||
Either the value within the hash table for the given key,
|
||||
or the default value.
|
||||
$DESCRIPTION$
|
||||
|
||||
$EXAMPLES$
|
||||
|
||||
$STATUS$
|
||||
R
|
||||
$COMPLIANCE$
|
||||
H
|
||||
$PLATFORMS$
|
||||
|
||||
$FILES$
|
||||
|
||||
$SEEALSO$
|
||||
|
||||
$END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
$TEMPLATE$
|
||||
Function
|
||||
$NAME$
|
||||
hb_HSet()
|
||||
$CATEGORY$
|
||||
API
|
||||
$SUBCATEGORY$
|
||||
Hash table
|
||||
$ONELINER$
|
||||
Sets a hash value
|
||||
$SYNTAX$
|
||||
hb_HSet( <hsTable>, <Key>, <Value> ) -> <hsTable>
|
||||
$ARGUMENTS$
|
||||
<hsTable> a hash table
|
||||
|
||||
<Key> the key of the entry to be set;
|
||||
can be of type: number, date, datetime, string, pointer
|
||||
|
||||
<Value> the entry value
|
||||
$RETURNS$
|
||||
The hash table
|
||||
$DESCRIPTION$
|
||||
|
||||
$EXAMPLES$
|
||||
|
||||
$STATUS$
|
||||
R
|
||||
$COMPLIANCE$
|
||||
H
|
||||
$PLATFORMS$
|
||||
|
||||
$FILES$
|
||||
|
||||
$SEEALSO$
|
||||
|
||||
$END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
$TEMPLATE$
|
||||
Function
|
||||
$NAME$
|
||||
hb_HDel()
|
||||
$CATEGORY$
|
||||
API
|
||||
$SUBCATEGORY$
|
||||
Hash table
|
||||
$ONELINER$
|
||||
Removes a key/value pair from a hash table
|
||||
$SYNTAX$
|
||||
hb_HDel( <hsTable>, <Key> ) -> <hsTable>
|
||||
$ARGUMENTS$
|
||||
<hsTable> a hash table
|
||||
|
||||
<Key> key to be removed from the hash table;
|
||||
can be of type: number, date, datetime, string, pointer
|
||||
$RETURNS$
|
||||
The hash table
|
||||
$DESCRIPTION$
|
||||
|
||||
$EXAMPLES$
|
||||
|
||||
$STATUS$
|
||||
R
|
||||
$COMPLIANCE$
|
||||
H
|
||||
$PLATFORMS$
|
||||
|
||||
$FILES$
|
||||
|
||||
$SEEALSO$
|
||||
|
||||
$END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
$TEMPLATE$
|
||||
Function
|
||||
$NAME$
|
||||
hb_HKeyAt()
|
||||
$CATEGORY$
|
||||
API
|
||||
$SUBCATEGORY$
|
||||
Hash table
|
||||
$ONELINER$
|
||||
Gets a hash table key at a given position
|
||||
$SYNTAX$
|
||||
hb_HKeyAt( <hsTable>, <nPosition> ) -> <Key>
|
||||
$ARGUMENTS$
|
||||
<hsTable> a hash table
|
||||
|
||||
<nPosition> the position of an entry within the hash table that will
|
||||
be returned
|
||||
$RETURNS$
|
||||
The key at the given position of the hash table;
|
||||
the type will be one: number, date, datetime, string, pointer
|
||||
$DESCRIPTION$
|
||||
|
||||
$EXAMPLES$
|
||||
|
||||
$STATUS$
|
||||
R
|
||||
$COMPLIANCE$
|
||||
H
|
||||
$PLATFORMS$
|
||||
|
||||
$FILES$
|
||||
|
||||
$SEEALSO$
|
||||
|
||||
$END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
$TEMPLATE$
|
||||
Function
|
||||
$NAME$
|
||||
hb_HValueAt()
|
||||
$CATEGORY$
|
||||
API
|
||||
$SUBCATEGORY$
|
||||
Hash table
|
||||
$ONELINER$
|
||||
Gets/sets a hash value at a given position
|
||||
$SYNTAX$
|
||||
hb_HValueAt( <hsTable>, <nPosition>, [<NewValue>] ) -> <Value>
|
||||
$ARGUMENTS$
|
||||
<hsTable> a hash table
|
||||
|
||||
<nPosition> the position of an entry within the hash table that will
|
||||
be returned
|
||||
|
||||
<NewValue> a new value to be assigned to the hash table at the given
|
||||
position
|
||||
$RETURNS$
|
||||
The existing value, or the new value if it is given
|
||||
$DESCRIPTION$
|
||||
|
||||
$EXAMPLES$
|
||||
|
||||
$STATUS$
|
||||
R
|
||||
$COMPLIANCE$
|
||||
H
|
||||
$PLATFORMS$
|
||||
|
||||
$FILES$
|
||||
|
||||
$SEEALSO$
|
||||
|
||||
$END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
$TEMPLATE$
|
||||
Function
|
||||
$NAME$
|
||||
hb_HPairAt()
|
||||
$CATEGORY$
|
||||
API
|
||||
$SUBCATEGORY$
|
||||
Hash table
|
||||
$ONELINER$
|
||||
Returns a two-dimensional array of a hash table entry key/value pair
|
||||
$SYNTAX$
|
||||
hb_HPairAt( <hsTable>, <nPosition> ) -> <aKeyValue>
|
||||
$ARGUMENTS$
|
||||
<hsTable> a hash table
|
||||
|
||||
<nPosition> the position of an entry within the hash table that will
|
||||
be returned
|
||||
$RETURNS$
|
||||
A two-dimensional array of the key/value pair entry of the hash table
|
||||
$DESCRIPTION$
|
||||
|
||||
$EXAMPLES$
|
||||
|
||||
$STATUS$
|
||||
R
|
||||
$COMPLIANCE$
|
||||
H
|
||||
$PLATFORMS$
|
||||
|
||||
$FILES$
|
||||
|
||||
$SEEALSO$
|
||||
|
||||
$END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
$TEMPLATE$
|
||||
Function
|
||||
$NAME$
|
||||
hb_HDelAt()
|
||||
$CATEGORY$
|
||||
API
|
||||
$SUBCATEGORY$
|
||||
Hash table
|
||||
$ONELINER$
|
||||
Removes an entry from a hash table based on its index position
|
||||
$SYNTAX$
|
||||
hb_HDelAt( <hsTable>, <nPosition> ) -> <hsTable>
|
||||
$ARGUMENTS$
|
||||
<hsTable> a hash table
|
||||
|
||||
<nPosition> the position of an entry within the hash table that will
|
||||
be deleted
|
||||
$RETURNS$
|
||||
The hash table
|
||||
$DESCRIPTION$
|
||||
|
||||
$EXAMPLES$
|
||||
|
||||
$STATUS$
|
||||
R
|
||||
$COMPLIANCE$
|
||||
H
|
||||
$PLATFORMS$
|
||||
|
||||
$FILES$
|
||||
|
||||
$SEEALSO$
|
||||
|
||||
$END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
$TEMPLATE$
|
||||
Function
|
||||
$NAME$
|
||||
hb_HKeys()
|
||||
$CATEGORY$
|
||||
API
|
||||
$SUBCATEGORY$
|
||||
Hash table
|
||||
$ONELINER$
|
||||
Returns an array of the keys of a hash table
|
||||
$SYNTAX$
|
||||
hb_HKeys( <hsTable> ) -> <aKeys>
|
||||
$ARGUMENTS$
|
||||
<hsTable> a hash table
|
||||
$RETURNS$
|
||||
An array of all the hash table keys
|
||||
$DESCRIPTION$
|
||||
|
||||
$EXAMPLES$
|
||||
|
||||
$STATUS$
|
||||
R
|
||||
$COMPLIANCE$
|
||||
H
|
||||
$PLATFORMS$
|
||||
|
||||
$FILES$
|
||||
|
||||
$SEEALSO$
|
||||
|
||||
$END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
$TEMPLATE$
|
||||
Function
|
||||
$NAME$
|
||||
hb_HValues()
|
||||
$CATEGORY$
|
||||
API
|
||||
$SUBCATEGORY$
|
||||
Hash table
|
||||
$ONELINER$
|
||||
Returns an array of the values of a hash table
|
||||
$SYNTAX$
|
||||
hb_HValues( <hsTable> ) -> <aValues>
|
||||
$ARGUMENTS$
|
||||
<hsTable> a hash table
|
||||
$RETURNS$
|
||||
An array of all the hash values
|
||||
$DESCRIPTION$
|
||||
|
||||
$EXAMPLES$
|
||||
|
||||
$STATUS$
|
||||
R
|
||||
$COMPLIANCE$
|
||||
H
|
||||
$PLATFORMS$
|
||||
|
||||
$FILES$
|
||||
|
||||
$SEEALSO$
|
||||
|
||||
$END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
$TEMPLATE$
|
||||
Function
|
||||
$NAME$
|
||||
hb_HFill()
|
||||
$CATEGORY$
|
||||
API
|
||||
$SUBCATEGORY$
|
||||
Hash table
|
||||
$ONELINER$
|
||||
Fills a hash table with a value
|
||||
$SYNTAX$
|
||||
hb_HFill( <hsTable>, <Value> ) -> <hsTable>
|
||||
$ARGUMENTS$
|
||||
<hsTable> a hash table
|
||||
|
||||
<Value> fill value; can be of type: block, string, numeric, date/datetime, logical, nil, pointer, array, hash table
|
||||
$RETURNS$
|
||||
The hash table
|
||||
$DESCRIPTION$
|
||||
|
||||
$EXAMPLES$
|
||||
|
||||
$STATUS$
|
||||
R
|
||||
$COMPLIANCE$
|
||||
H
|
||||
$PLATFORMS$
|
||||
|
||||
$FILES$
|
||||
|
||||
$SEEALSO$
|
||||
|
||||
$END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
$TEMPLATE$
|
||||
Function
|
||||
$NAME$
|
||||
hb_HClone()
|
||||
$CATEGORY$
|
||||
API
|
||||
$SUBCATEGORY$
|
||||
Hash table
|
||||
$ONELINER$
|
||||
Creates a copy of a hash table
|
||||
$SYNTAX$
|
||||
hb_HClone( <hsTable> ) -> <hsDestination>
|
||||
$ARGUMENTS$
|
||||
<hsTable> a hash table
|
||||
$RETURNS$
|
||||
A cloned copy of the hash table
|
||||
$DESCRIPTION$
|
||||
|
||||
$EXAMPLES$
|
||||
|
||||
$STATUS$
|
||||
R
|
||||
$COMPLIANCE$
|
||||
H
|
||||
$PLATFORMS$
|
||||
|
||||
$FILES$
|
||||
|
||||
$SEEALSO$
|
||||
|
||||
$END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
$TEMPLATE$
|
||||
Function
|
||||
$NAME$
|
||||
hb_HCopy()
|
||||
$CATEGORY$
|
||||
API
|
||||
$SUBCATEGORY$
|
||||
Hash table
|
||||
$ONELINER$
|
||||
Adds entries from the source hash table to the destination hash table
|
||||
$SYNTAX$
|
||||
hb_HCopy( <hsDestination>, <hsSource>, [<nStart>], [<nCount>] ) -> <hsDestination>
|
||||
$ARGUMENTS$
|
||||
<hsDestination> a destination hash table
|
||||
|
||||
<hsSource> a source hash table
|
||||
|
||||
<nStart> starting index, defaults to 1 if omitted
|
||||
|
||||
<nCount> counter, defaults to (length) - <nStart> is omitted
|
||||
$RETURNS$
|
||||
The destination hash table
|
||||
$DESCRIPTION$
|
||||
|
||||
$EXAMPLES$
|
||||
|
||||
$STATUS$
|
||||
R
|
||||
$COMPLIANCE$
|
||||
H
|
||||
$PLATFORMS$
|
||||
|
||||
$FILES$
|
||||
|
||||
$SEEALSO$
|
||||
|
||||
$END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
$TEMPLATE$
|
||||
Function
|
||||
$NAME$
|
||||
hb_HMerge()
|
||||
$CATEGORY$
|
||||
API
|
||||
$SUBCATEGORY$
|
||||
Hash table
|
||||
$ONELINER$
|
||||
Merges a source hash table into a destination hash table
|
||||
$SYNTAX$
|
||||
hb_HMerge( <hsDestination>, <hsSource>, <bBlock>|<nPosition> ) -> <hsDestination>
|
||||
$ARGUMENTS$
|
||||
<hsDestination> a destination hash table
|
||||
|
||||
<hsSource> a source hash table
|
||||
|
||||
<bBlock> a code block that will be evaluated for each entry within the
|
||||
source hash table; the code block will be passed the entry key, value and
|
||||
position; if the code block returns a true value, the entry will be added to
|
||||
the destination hash table
|
||||
|
||||
<nPosition> the position of an entry within the source hash table that will
|
||||
be appended to the destination hash table
|
||||
|
||||
TODO: the source code passes either a number or HB_HASH_UNION; research this
|
||||
$RETURNS$
|
||||
The destination hash table with the contents of the source hash table merged
|
||||
$DESCRIPTION$
|
||||
|
||||
$EXAMPLES$
|
||||
|
||||
$STATUS$
|
||||
R
|
||||
$COMPLIANCE$
|
||||
H
|
||||
$PLATFORMS$
|
||||
|
||||
$FILES$
|
||||
|
||||
$SEEALSO$
|
||||
|
||||
$END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
$TEMPLATE$
|
||||
Function
|
||||
$NAME$
|
||||
hb_HEval()
|
||||
$CATEGORY$
|
||||
API
|
||||
$SUBCATEGORY$
|
||||
Hash table
|
||||
$ONELINER$
|
||||
Evaluate a code block across the contents of a hash table
|
||||
$SYNTAX$
|
||||
hb_HEval( <hsTable>, <bBlock>, [<nStart>], [<nCount>] ) -> <hsTable>
|
||||
$ARGUMENTS$
|
||||
<hsTable> a hash table
|
||||
|
||||
<bBlock> code block to be evaluated
|
||||
|
||||
<nStart> starting index, defaults to 1 if omitted
|
||||
|
||||
<nCount> counter, defaults to (length) - <nStart> is omitted
|
||||
$RETURNS$
|
||||
The hash table
|
||||
$DESCRIPTION$
|
||||
The code block is evaluated for every hash table entry starting at
|
||||
<nStart> for <nCount> items.
|
||||
|
||||
The code block is passed the entry key, value, and numeric position
|
||||
$EXAMPLES$
|
||||
|
||||
$STATUS$
|
||||
R
|
||||
$COMPLIANCE$
|
||||
H
|
||||
$PLATFORMS$
|
||||
|
||||
$FILES$
|
||||
|
||||
$SEEALSO$
|
||||
|
||||
$END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
$TEMPLATE$
|
||||
Function
|
||||
$NAME$
|
||||
hb_HScan()
|
||||
$CATEGORY$
|
||||
API
|
||||
$SUBCATEGORY$
|
||||
Hash table
|
||||
$ONELINER$
|
||||
Scans a hash table
|
||||
$SYNTAX$
|
||||
hb_HScan( <hsTable>, <Value>, [<nStart>], [<nCount>, [<lExact>] ) -> nPosition
|
||||
$ARGUMENTS$
|
||||
<hsTable> a hash table
|
||||
|
||||
<Value> to be located within the hash table
|
||||
|
||||
<nStart> starting index, defaults to 1 if omitted
|
||||
|
||||
<nCount> counter, defaults to (length) - <nStart> is omitted
|
||||
|
||||
<lExact> logical valuye indicating whether the comparision
|
||||
is to be be exact or not
|
||||
$RETURNS$
|
||||
The position of the located value within the hash table, or zero (0) if not found.
|
||||
$DESCRIPTION$
|
||||
|
||||
$EXAMPLES$
|
||||
|
||||
$STATUS$
|
||||
R
|
||||
$COMPLIANCE$
|
||||
H
|
||||
$PLATFORMS$
|
||||
|
||||
$FILES$
|
||||
|
||||
$SEEALSO$
|
||||
|
||||
$END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
$TEMPLATE$
|
||||
Function
|
||||
$NAME$
|
||||
hb_HSort()
|
||||
$CATEGORY$
|
||||
API
|
||||
$SUBCATEGORY$
|
||||
Hash table
|
||||
$ONELINER$
|
||||
Reorganizes the internal list of the hash table to be sorted
|
||||
$SYNTAX$
|
||||
hb_HSort( <hsTable> ) -> <hsSortedTable>
|
||||
$ARGUMENTS$
|
||||
<hsTable> a hash table
|
||||
$RETURNS$
|
||||
The hash table sorted
|
||||
|
||||
TODO: is the original table altered?
|
||||
$DESCRIPTION$
|
||||
|
||||
$EXAMPLES$
|
||||
|
||||
$STATUS$
|
||||
R
|
||||
$COMPLIANCE$
|
||||
H
|
||||
$PLATFORMS$
|
||||
|
||||
$FILES$
|
||||
|
||||
$SEEALSO$
|
||||
|
||||
$END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
$TEMPLATE$
|
||||
Function
|
||||
$NAME$
|
||||
hb_HCaseMatch()
|
||||
$CATEGORY$
|
||||
API
|
||||
$SUBCATEGORY$
|
||||
Hash table
|
||||
$ONELINER$
|
||||
Sets the 'case match' flag for the hash table
|
||||
$SYNTAX$
|
||||
hb_HCaseMatch( <hsTable>, [<lFlag>] ) -> <lPreviousFlag>
|
||||
$ARGUMENTS$
|
||||
<hsTable> a hash table
|
||||
|
||||
<lFlag> a logical value indicating to turn on or off
|
||||
the 'case match' flag of the hash table
|
||||
$RETURNS$
|
||||
The previous value of the 'case match' flag
|
||||
$DESCRIPTION$
|
||||
This function returns the old flag value
|
||||
$EXAMPLES$
|
||||
LOCAL hsTable, lFlag
|
||||
hsTable := { "one" => 1, "two" => 2 }
|
||||
// turn 'case match' on for a new hash table, storing ol flag
|
||||
lFlag := hb_HCaseMatch( hsTable, .T. )
|
||||
$STATUS$
|
||||
R
|
||||
$COMPLIANCE$
|
||||
H
|
||||
$PLATFORMS$
|
||||
|
||||
$FILES$
|
||||
|
||||
$SEEALSO$
|
||||
$END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
$TEMPLATE$
|
||||
Function
|
||||
$NAME$
|
||||
hb_HBinary()
|
||||
$CATEGORY$
|
||||
API
|
||||
$SUBCATEGORY$
|
||||
Hash table
|
||||
$ONELINER$
|
||||
Sets the 'binary' flag for the hash table
|
||||
$SYNTAX$
|
||||
hb_HBinary( <hsTable>, [<lFlag>] ) -> <lPreviousFlag>
|
||||
$ARGUMENTS$
|
||||
<hsTable> a hash table
|
||||
|
||||
<lFlag> a logical value indicating to turn on or off
|
||||
the 'binary' flag of the hash table
|
||||
$RETURNS$
|
||||
The previous value of the 'binary' flag
|
||||
$DESCRIPTION$
|
||||
This function is equivalent to hb_HBinary() but it returns
|
||||
the old flag value rather than the hash table
|
||||
$EXAMPLES$
|
||||
LOCAL hsTable, lFlag
|
||||
hsTable := { "one" => 1, "two" => 2 }
|
||||
// turn 'binary' on for a new hash table, storing ol flag
|
||||
lFlag := hb_HBinary( hsTable, .T. )
|
||||
$STATUS$
|
||||
R
|
||||
$COMPLIANCE$
|
||||
H
|
||||
$PLATFORMS$
|
||||
|
||||
$FILES$
|
||||
|
||||
$SEEALSO$
|
||||
$END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
$TEMPLATE$
|
||||
Function
|
||||
$NAME$
|
||||
hb_HAutoAdd()
|
||||
$CATEGORY$
|
||||
API
|
||||
$SUBCATEGORY$
|
||||
Hash table
|
||||
$ONELINER$
|
||||
Sets the 'auto add' flag for the hash table
|
||||
$SYNTAX$
|
||||
hb_HAutoAdd( <hsTable>, [<lFlag>] ) -> <lPreviousFlag>
|
||||
$ARGUMENTS$
|
||||
<hsTable> a hash table
|
||||
|
||||
<lFlag> a logical value indicating to turn on or off
|
||||
the 'auto add' flag of the hash table
|
||||
$RETURNS$
|
||||
The previous value of the 'auto add' flag
|
||||
$DESCRIPTION$
|
||||
This function is equivalent to hb_HAutoAdd() but it returns
|
||||
the old flag value rather than the hash table
|
||||
$EXAMPLES$
|
||||
LOCAL hsTable, lFlag
|
||||
hsTable := { "one" => 1, "two" => 2 }
|
||||
// turn 'auto add' on for a new hash table, storing ol flag
|
||||
lFlag := hb_HAutoAdd( hsTable, .T. )
|
||||
$STATUS$
|
||||
R
|
||||
$COMPLIANCE$
|
||||
H
|
||||
$PLATFORMS$
|
||||
|
||||
$FILES$
|
||||
|
||||
$SEEALSO$
|
||||
$END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
$TEMPLATE$
|
||||
Procedure
|
||||
$NAME$
|
||||
hb_HAllocate()
|
||||
$CATEGORY$
|
||||
API
|
||||
$SUBCATEGORY$
|
||||
Hash table
|
||||
$ONELINER$
|
||||
Preallocates a hash table
|
||||
$SYNTAX$
|
||||
hb_HAllocate( <hsTable>, <nItems> )
|
||||
$ARGUMENTS$
|
||||
<hsTable> a hash table
|
||||
|
||||
<nItems> number of items to preallocate in the hash table
|
||||
$DESCRIPTION$
|
||||
|
||||
$EXAMPLES$
|
||||
|
||||
$STATUS$
|
||||
R
|
||||
$COMPLIANCE$
|
||||
H
|
||||
$PLATFORMS$
|
||||
|
||||
$FILES$
|
||||
|
||||
$SEEALSO$
|
||||
|
||||
$END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
$TEMPLATE$
|
||||
Function
|
||||
$NAME$
|
||||
hb_HDefault()
|
||||
$CATEGORY$
|
||||
API
|
||||
$SUBCATEGORY$
|
||||
Hash table
|
||||
$ONELINER$
|
||||
Returns/sets a default value for a hash table.
|
||||
$SYNTAX$
|
||||
hb_HDefault( <hsTable>, <DefaultValue> ) -> <OldDefaultValye>
|
||||
$ARGUMENTS$
|
||||
<hsTable> a hash table
|
||||
|
||||
<DefaultValue>
|
||||
$RETURNS$
|
||||
The previous default value assigned to the hash table
|
||||
$DESCRIPTION$
|
||||
|
||||
$EXAMPLES$
|
||||
|
||||
$STATUS$
|
||||
R
|
||||
$COMPLIANCE$
|
||||
H
|
||||
$PLATFORMS$
|
||||
|
||||
$FILES$
|
||||
|
||||
$SEEALSO$
|
||||
TODO: locate and list those methods that use this feature
|
||||
$END$
|
||||
*/
|
||||
1280
doc/en/rdddb.txt
1280
doc/en/rdddb.txt
File diff suppressed because it is too large
Load Diff
@@ -854,8 +854,8 @@ Version 1.0.0 rc1 (2008-06-04) tag: 1.0.0rc1
|
||||
|
||||
General
|
||||
=============================
|
||||
- The SourceForge repository was moved from CVS to SVN
|
||||
- added docs/howtorep.txt
|
||||
- The source repository was moved from CVS to SVN
|
||||
- added docs/howtovcs.txt
|
||||
- changed pack_src.sh to extract list of files from local SVN copy using
|
||||
SVN commands
|
||||
- improved CYGWIN compatibility
|
||||
@@ -870,15 +870,15 @@ General
|
||||
who want to change the grammar files needs bison
|
||||
- removed all HB_COMPAT_XHB definitions from source code - now all covered
|
||||
extensions should be supported by hbcompat.ch and/or xhb library
|
||||
- removed 3-rd party header files from SVN, f.e.: ace.h
|
||||
- removed 3rd party header files from SVN, f.e.: ace.h
|
||||
|
||||
Portability
|
||||
-----------
|
||||
- eliminated errno access for platforms which do not have it.
|
||||
- added support for PocketPC WINCE with MSVC, POCC, CeGCC and MinGWCE.
|
||||
- added support for cross WinCE builds
|
||||
- extended hb* scripts for cross builds: hbw* - Win32, hbce* - WinCE
|
||||
- added support for creating RPMs with Harbour cross build for Win32 and
|
||||
- extended hb* scripts for cross builds: hbw* - Windows, hbce* - WinCE
|
||||
- added support for creating RPMs with Harbour cross build for Windows and
|
||||
WinCE.
|
||||
- added support for MS-Windows UNICDE builds.
|
||||
- added support for shared libraries (.sl) in HPUX builds
|
||||
|
||||
Reference in New Issue
Block a user