* contrib/examples/uhttpd/uhttpd.prg
+ Added callstack in RTE message (ugly but useful).
! Fixed RTE when displaying server status.
(might have broken non-inet-mode)
* contrib/examples/uhttpd/hbmk_b32.bat
* contrib/examples/uhttpd/hbmk_vc.bat
+ Trying to shutdown server before build.
* harbour/contrib/gtwvg/gtwvg.c
* harbour/contrib/gtwvg/gtwvg.h
! Synchronized with GTWVT per Viktor's changes for box characters.
! Commented out previous change per Przemek's "Layered Attributes".
Somehow, this change had increased the flickering of the window as
it invalidates the whole window when it regain focus, not desirable
behavior in GTWVG with GUI elelments.
+ contrib/examples/uhttpd/hbmk_vc.bat
+ Added MSVC make file.
* contrib/examples/uhttpd/socket.c
! Made it compile with MSVC.
! Added SVN header.
* contrib/examples/uhttpd/uhttpd.prg
+ contrib/examples/uhttpd/uhttpdc.c
+ C level stuff moved to separate file.
; NOTE: I'm getting an "Argument error: +" when browse
to http://localhost:8082 (using Chrome if that matters).
* common.mak
* include/hbextern.ch
* source/rtl/Makefile
+ source/rtl/strxor.c
+ Added HB_STRXOR() (work of Mindaugas Kavaliauskas)
* common.mak
* source/common/Makefile
+ source/common/hbprintf.c
+ Added hb_snprintf_c() (temp name, untested) (work of Przemyslaw Czerpak)
[ I've added a normal Harbour license, as per your permission
on the list. Pls give me feedback is this is wrong. ]
* source/rdd/usrrdd/example/exlog.prg
! Fixed missing #includes.
* source/rdd/usrrdd/example/hbmk_b32.bat
+ source/rdd/usrrdd/example/hbmk_vc.bat
+ Added MSVC make file.
! Added EOL to the last line to hbmk_b32.bat.
! xhb.lib dependency removed. It was not needed anyway.
; TOFIX: When compiling exhsx.prg, this happens:
exhsx.obj : error LNK2001: unresolved external symbol _HB_FUN_HSXRDD
* contrib/hbssl/sslsess.c
* contrib/hbssl/sslctx.c
* contrib/hbssl/sslciph.c
* Minor changes.
* harbour/config/darwin/gcc.cf
! changed CCACHE to HB_CCACHE
* harbour/include/hbatomic.h
! removed unnecessary volatile casting in Darwin atomic function
parameters
* harbour/source/compiler/harbour.y
! cleaned one untyped expression assign
(by Phil Krylov borrowed from xHarbour)
* harbour/bin/hb-func.sh
* updated contrib library last
* harbour/source/rdd/usrrdd/rdds/arrayrdd.prg
* fixed harbour version without using hbcompat.ch
; TODO: USRRDD not supports dbCreate() extension params
+ harbour/source/rdd/usrrdd/example/exarr.prg
+ ARRAYRDD example
+ harbour/source/rdd/usrrdd/example/hbmk_b32.bat
+ BCC make file
* harbour/contrib/examples/uhttpd/uhttpd.prg
+ Added CGIExec() function
Now uHTTPD supports external cgi executables.
A big thank you to Giancarlo Niccolai that wrote Process*() functions
a to Przemek that has ported them to harbour.
; NOTE: security has to be checked.
A minimal executable test can be downloaded from:
http://www.fsgiudice.com/testcgi.zip
Expand into harbour/contrib/examples/uhttpd/home/cgi-bin, then run
it using http://localhost:8082/cgi-bin/testcgi.exe
* source/rtl/philes.c
! FWRITE(): Fixed accessing past the string buffer (thus
causing potential GPF and a huge security hole) when
the passed length is greate than the lenght of the string.
Very old bug. In fact CA-Cl*pper suffers from the same
problem, and behavior for such case is not documented.
Harbour will ignore the length parameter (thus writing
the whole passed string), if the length is invalid.
* harbour/contrib/examples/uhttpd/uhttpd.prg
+ Added hb_Inet*() version
* harbour/contrib/examples/uhttpd/hbmk_b32.bat
+ Added support for hb_Inet*() version
; NOTE:
To use hb_Inet*() version build using
hbmk_b32.bat --with-inet
* harbour/source/compiler/hbmain.c
* harbour/source/pp/hbpp.c
* harbour/source/pp/ppcore.c
+ added __FILE__ define for .prg code
; Please, look if this is implemented the right and optimal way.
I'm a little confused about PP initialization order, and how
__DATE__, etc, survive after hb_pp_reset in compiler.
* bin/hb-func.sh
* fix darwin detection
* make_gnu.sh
* fix darwin detection
* added ncurses detection logic like slang one
* contrib/hbtip/ftpcln.prg
* fixed wrong changes from nil to .f.
* someone in the past has done a mass change of the return values
* without checking the results
* harbour/contrib/examples/uhttpd/uhttpd.prg
+ Added support for ini file (default: uhttpd.ini)
+ modified to add support to Lib GD on batch request
* changed THREAD STATIC names with t_ prefix
* changed all global STATIC names with s_ prefix
- removed C level function EXE_FULLNAME (hb_argv( 0 ) does same)
* harbour/contrib/examples/uhttpd/hbmk_b32.bat
+ now support LIBGD on request
* harbour/contrib/examples/uhttpd/readme.txt
* updated infos
+ harbour/contrib/examples/uhttpd/uhttpd.ini
+ Added default ini file
if not found are used internal defaults or command line flags
* harbour/contrib/examples/uhttpd/home/counter.html
* Fixed typo
; NOTE:
Hope that will follow multiplatform version.
* contrib/hbhpdf/harupdf.ch
* contrib/hbhpdf/harupdf.c
+ Added HPDF_VERSION_TEXT() function which returns the
libharu version hbhpdf was linked against.
- Removed #defined HPDF_VERSION_TEXT with hard-wired libharu
version.
* harbour/common.mak
* harbour/source/rtl/Makefile
- harbour/source/rtl/hbi18n.c
+ harbour/source/rtl/hbi18n1.c
* renamed hbi18n.c to hbi18n1.c to avoid conflicts with hbi18n
program - non GNU make files needs unique file names
! fixed bug in internal function __I18N_HASHTABLE()
* harbour/common.mak
* harbour/source/rtl/Makefile
+ harbour/source/rtl/hbi18n2.prg
+ added new I18N functions to manage .pot files and generate .hbl ones.
public functions:
HB_I18N_loadPot( <cFile>, [<pI18N>] [, @<cErrorMsg>] ) -> <pI18N> | NIL
Reads .pot file and returns Harbour translation set or NIL when
error appears. In such case <cErrorMsg> is contains error message
string. If second parameter [<pI18N>] is given then translation
items read from .pot file are added to this set. Otherwise new
Harbour translation set is created.
HB_I18N_savePot( <cFile>, <pI18N> [, @<cErrorMsg>] ) -> <lSuccess>
Generates .pot file from Harbour translation set. Please note
that Harbour translation set does not contain additional
information which exists in original .pot files like source
code numbers or alternative plural forms.
internal functions for Harbour developers which will work on I18N
tools:
__I18N_potArrayLoad( <cFile> [, @<cErrorMsg>] ) -> <aTrans> | NIL
Reads .pot file and returns array with translation items or
NIL when error appears. In such case <cErrorMsg> is contains
error message string.
<aTrans> is an array with translation items containing additional
informations from .pot file which are not necessary in final
translation sets used at runtime. It's designed for I18N tools
written in Harbour to manage .pot files and/or create .hbl ones.
__I18N_potArraySave( <cFile>, <aTrans> [, @<cErrorMsg>] ) -> <lSuccess>
Generates .pot file from array with translations items.
__I18N_potArrayJoin( <aTrans>, <aTrans2> ) -> <aTrans>
Join two arrays with translation items. Items from <aTrans2>
are added to <aTrans>. If given translation item already exists
in <aTrans> (the same msgctxt and msgid) then source code references
are merged and translations from <aTrans2> are added only if
<aTrans> does not have it.
__I18N_potArrayToHash( <aTrans>, [<lEmpty>] [, <hI18N>] ) -> <hI18N>
Converts array with translation items to hash table in the format
used internally by Harbour translation sets. It's the same format
as used __I18N_hashTable() function. The conversion removes data
which is not necessary for runtime translations like source code
references or alternative source plural forms.
If second parameter <hI18N> is given then translation items form
<aTrans> are added to it. Otherwise new hash table with is created.
If <lEmpty> is .T. then also items with empty translation are added
but source strings are used instead of missing destination ones.
* harbour/include/hbextern.ch
+ added new I18N functions
* harbour/harbour-win-spec
* harbour/harbour-wce-spec
* harbour/harbour.spec
* harbour/mpkg_tgz.sh
* harbour/make_b32.mak
* harbour/make_vc.mak
* harbour/make_gcc.mak
* harbour/common.mak
* harbour/utils/Makefile
+ harbour/utils/hbi18n
+ harbour/utils/hbi18n/hbi18n.prg
+ harbour/utils/hbi18n/Makefile
+ added very simple application to manage .pot/.hbl files
Syntax: hbi18n -m | -g [-o<outfile>] [-e] [-q] <files1[.pot] ...>
-m merge given .pot files
-g generate .hbl file from given .pot files
-o<outfile> output file name
default is first .pot file name with
.po_ (merge) or .hbl extension
-e do not strip empty translation rules from .hbl files
-q quiet mode
TODO: extend it and add support for interactive mode which will
allow to edit translations.
* harbour/contrib/hbcrypt/sha1.h
* harbour/contrib/hbcrypt/sha1.c
! disabled LITTLE_ENDIAN macro definition to avoid conflicts with
macros using the same name defined in some system header files
HB_LITTLE_ENDIAN used instead
* harbour/ChangeLog
* cleaned some typos
* harbour/common.mak
* harbour/source/rtl/Makefile
+ harbour/source/rtl/strtoexp.c
* harbour/source/rtl/valtostr.c
* moved my HB_STRTOEXP() function to separate file
* harbour/common.mak
* harbour/source/rtl/Makefile
+ harbour/source/rtl/strc.c
+ added two new functions to operate on C like strings:
HB_STRDECODESCAPE( <cEscSeqStr> ) -> <cStr>
Decode string with \ escape sequences.
HB_STRCDECODE( <cStr> [, @<lCont> ] ) -> <cResult> | NIL
Decode string using C compiler rules.
If second parameter <lCont> is passed by reference then it allows
to decode multiline strings. In such case <lCont> is set to .T.
if string ends with unclosed "" quoting and next call to this
function with lCont parameter continue string decoding.
Function returns decoded string or NIL on syntax error.
They will be helper functions for decoding .pot files.
* harbour/source/rtl/hbi18n.c
* harbour/source/rtl/hbstrsh.c
% small optimizations
* contrib/hbhpdf/harupdf.c
! HPDF_SETINFODATEATTR() fixed taking date/time from the wrong
parameter.
! HPDF_SETINFODATEATTR() fixed to initialize the date structure
passed to libharu.
; NOTE: I've changed my editor config to automatically clean line
ending spaces. This may cause larger diffs even for
small modifications until all these spaces are cleaned
from the sources. FYI.
+ harbour/contrib/examples/uhttpd/modules/info.prg
+ New sample showing server variables
* harbour/contrib/examples/uhttpd/home/index.html
* harbour/contrib/examples/uhttpd/readme.txt
* harbour/contrib/examples/uhttpd/uhttpd.prg
* updated for new sample
+ harbour/contrib/examples/uhttpd
+ harbour/contrib/examples/socket.c
+ harbour/contrib/examples/uhttpd.prg
+ harbour/contrib/examples/hbmk_b32.bat
+ harbour/contrib/examples/readme.txt
+ harbour/contrib/examples/home
+ harbour/contrib/examples/home/cgi-bin
+ harbour/contrib/examples/home/counter.html
+ harbour/contrib/examples/home/css
+ harbour/contrib/examples/home/css/base.css
+ harbour/contrib/examples/home/favicon.ico
+ harbour/contrib/examples/home/images
+ harbour/contrib/examples/home/images/ajax-loader.gif
+ harbour/contrib/examples/home/index.html
+ harbour/contrib/examples/home/js
+ harbour/contrib/examples/home/js/ajax.js
+ harbour/contrib/examples/home/testajax.html
+ harbour/contrib/examples/home/testxmldb.html
+ harbour/contrib/examples/home/xsl
+ harbour/contrib/examples/home/xsl/based.xsl
+ harbour/contrib/examples/home/xsl/basep.xsl
+ harbour/contrib/examples/logs
+ harbour/contrib/examples/modules
+ harbour/contrib/examples/modules/bldhrb.bat
+ harbour/contrib/examples/modules/showcounter.prg
+ harbour/contrib/examples/modules/tableservletdb.prg
+ harbour/contrib/examples/modules/testajax.prg
+ Uploaded first version of uHTTPD server.
; NOTE:
This is first version of uHTTPD (micro HTTPD server) based
on a sample shared from Mindaugas (thanks!).
Actually is only for windows and BCC32.
To build use hbmk_b32.bat
Please read readme.txt before start to use.
* harbour/contrib/hbct/ctwin.c
* harbour/contrib/hbct/ctwin.h
* harbour/contrib/hbct/ctwfunc.c
+ added support for window shadows which clears highlight attributes
instead of using fixed shadow color attribute