2013-03-17 21:46 UTC+0100 Viktor Szakats (harbour syenar.net)

* README.txt
    + added wikipedia article link

  * extras/hbdoc/genhtml.prg
  * extras/hbdoc/genxml.prg
  * extras/hbdoc/hbdoc.hbp
  * extras/hbdoc/hbdoc.prg
  * extras/hbdoc/tmplates.prg
    + can now be run as script
    ! fixed to not chop off left columns of examples and tests
    * synced banner function with utils
    * use strings instead of ASCII values to represent them
    ! fixed source directory reference
    ! close some unclosed HTML tags

  * doc/en/menu.txt
    * cleanup

  * doc/en/file.txt
  * doc/en/hbflock.txt
  * doc/en/memo.txt
  * doc/en/string.txt
    * deleted faulty 64K limit information

  * extras/httpsrv/cgifunc.prg
  * extras/httpsrv/uhttpd.hbp
  * extras/httpsrv/uhttpd.ini
  * extras/httpsrv/uhttpd.prg
    * instead of HRBMAIN() start whatever is the first public
      function in external script modules
    + uhttpd can now be run as script
    * minor cleanups

  + extras/httpsrv/logs/empty
    + added empty directory to avoid error on startup of uhttpd
This commit is contained in:
vszakats
2013-03-17 21:46:39 +01:00
parent 4e04321b22
commit ff2078e040
17 changed files with 150 additions and 134 deletions

View File

@@ -10,6 +10,43 @@
* Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment
*/
2013-03-17 21:46 UTC+0100 Viktor Szakats (harbour syenar.net)
* README.txt
+ added wikipedia article link
* extras/hbdoc/genhtml.prg
* extras/hbdoc/genxml.prg
* extras/hbdoc/hbdoc.hbp
* extras/hbdoc/hbdoc.prg
* extras/hbdoc/tmplates.prg
+ can now be run as script
! fixed to not chop off left columns of examples and tests
* synced banner function with utils
* use strings instead of ASCII values to represent them
! fixed source directory reference
! close some unclosed HTML tags
* doc/en/menu.txt
* cleanup
* doc/en/file.txt
* doc/en/hbflock.txt
* doc/en/memo.txt
* doc/en/string.txt
* deleted faulty 64K limit information
* extras/httpsrv/cgifunc.prg
* extras/httpsrv/uhttpd.hbp
* extras/httpsrv/uhttpd.ini
* extras/httpsrv/uhttpd.prg
* instead of HRBMAIN() start whatever is the first public
function in external script modules
+ uhttpd can now be run as script
* minor cleanups
+ extras/httpsrv/logs/empty
+ added empty directory to avoid error on startup of uhttpd
2013-03-17 16:06 UTC+0100 Viktor Szakats (harbour syenar.net)
- package/updt_web_nightly.sh
- deleted website updater script. no longer needed with GitHub

View File

@@ -1804,6 +1804,8 @@ TABLE OF CONTENT
https://github.com/harbour/core/blob/master/utils/hbmk2/hbmk2.md
hbrun documentation:
https://github.com/harbour/core/blob/master/contrib/hbrun/hbrun.md
Wikipedia:
https://en.wikipedia.org/wiki/Harbour_compiler
[ Copyright (c) 2009-2013 Viktor Szakats (harbour syenar.net)

View File

@@ -197,7 +197,7 @@
$COMPLIANCE$
C
$PLATFORMS$
All(64K)
All
$FILES$
Library is core
$SEEALSO$
@@ -255,7 +255,7 @@
$COMPLIANCE$
C
$PLATFORMS$
All(64K)
All
$FILES$
Library is core
$SEEALSO$
@@ -642,7 +642,7 @@
$COMPLIANCE$
C
$PLATFORMS$
All(64K)
All
$FILES$
Library is core
$SEEALSO$

View File

@@ -50,7 +50,7 @@
$COMPLIANCE$
H
$PLATFORMS$
All(64K)
All
$FILES$
Library is core
$SEEALSO$
@@ -100,7 +100,7 @@
$COMPLIANCE$
H
$PLATFORMS$
All(64K)
All
$FILES$
Library is core
$SEEALSO$

View File

@@ -146,7 +146,7 @@
$COMPLIANCE$
C
$PLATFORMS$
All(64K)
All
$FILES$
Library is core
$SEEALSO$
@@ -216,7 +216,7 @@
$COMPLIANCE$
C
$PLATFORMS$
All(64K)
All
$FILES$
Library is core
$SEEALSO$

View File

@@ -261,7 +261,6 @@
Following are active keys that handled by __MenuTo():
<table>
key Meaning
@@ -278,7 +277,7 @@
First letter Select next menu with the same first letter,
| return this item position.
</table>
upon exit the cursor is placed at MaxRow()-1, 0
upon exit the cursor is placed at MaxRow() - 1, 0
__MenuTo() can be nested without loosing the previous prompts.
MENU TO command is preprocessed into __MenuTo() function during
@@ -329,7 +328,7 @@
a PRIVATE variable with the name <cVariable> would be created to
hold the result.
$DESCRIPTION$
Menu To() invoked the menu define by previous __AtPrompt() call
MENU TO invoked the menu define by previous __AtPrompt() call
and display a highlight bar that the user can move to select an
option from the menu. If <cVariable> does not exist or not visible,
a PRIVATE variable named <cVariable> is created and hold the current
@@ -346,26 +345,26 @@
highlighted, if the user press Down arrow while on the last item,
the first item is highlighted.
Following are active keys that handled by Menu To:
Following are active keys that handled by MENU TO:
<table>
key Meaning
key Meaning
Up - Move to previous item
Down - Move to next item
Left - Move to previous item
Right - Move to next item
Home - Move to the first item
End - Move to the last item
Page-Up - Select menu item, return position
Page-Down - Select menu item, return position
Enter - Select menu item, return position
Esc - Abort selection, return 0
First letter - Select next menu with the same first letter,
Up Move to previous item
Down Move to next item
Left Move to previous item
Right Move to next item
Home Move to the first item
End Move to the last item
Page-Up Select menu item, return position
Page-Down Select menu item, return position
Enter Select menu item, return position
Esc Abort selection, return 0
First letter Select next menu with the same first letter,
| return this item position.
</table>
upon exit the cursor is placed at MaxRow()-1, 0
Menu To can be nested without loosing the previous prompts.
upon exit the cursor is placed at MaxRow() - 1, 0
MENU TO can be nested without loosing the previous prompts.
MENU TO command is preprocessed into __MenuTo() function during
compile time.

View File

@@ -326,7 +326,7 @@
$COMPLIANCE$
C
$PLATFORMS$
All(64K)
All
$FILES$
Library is core
$SEEALSO$
@@ -390,7 +390,7 @@
$COMPLIANCE$
C
$PLATFORMS$
All(64K)
All
$FILES$
Library is core
$SEEALSO$
@@ -519,7 +519,7 @@
$COMPLIANCE$
C
$PLATFORMS$
All(64K)
All
$FILES$
Library is core
$SEEALSO$
@@ -1292,7 +1292,7 @@
$COMPLIANCE$
C
$PLATFORMS$
All(64K)
All
$FILES$
Library is core
$SEEALSO$
@@ -1364,7 +1364,7 @@
$COMPLIANCE$
C
$PLATFORMS$
All(64K)
All
$FILES$
Library is core
$SEEALSO$
@@ -1454,7 +1454,7 @@
$COMPLIANCE$
C
$PLATFORMS$
All(64K)
All
$FILES$
Libraty is rtl
$SEEALSO$

View File

@@ -116,14 +116,18 @@ METHOD NewFile() CLASS GenerateHTML
::Append( ::cTitle /* + iif( Empty( ::cDescription ), "", " - " + ::cDescription ) */, "title" )
::OpenTag( "meta", "http-equiv", "content-type", "content", "text/html; charset=UTF-8" )
::CloseTag( "meta" )
::OpenTag( "meta", "name", "generator", "content", "Harbour examples/hbdoc" )
::CloseTag( "meta" )
::OpenTag( "meta", "name", "keywords", "content", "Harbour project, Clipper, xBase, database, Free Software, GNU, compiler, cross platform, 32-bit, FiveWin" )
::CloseTag( "meta" )
IF ::lCreateStyleDocument
::lCreateStyleDocument := .F.
::RecreateStyleDocument( STYLEFILE )
ENDIF
::OpenTag( "link", "rel", "stylesheet", "type", "text/css", "href", STYLEFILE )
::CloseTag( "link" )
::CloseTag( "head" )
::OpenTag( "body" )
@@ -231,7 +235,7 @@ METHOD PROCEDURE WriteEntry( cField, oEntry, lPreformatted, nIndent ) CLASS Gene
::OpenTag( "pre", iif( cTagClass != NIL, "class", ), cTagClass )
DO WHILE Len( cEntry ) > 0
IF Lower( cField ) + "|" $ "examples|tests|"
::Append( SubStr( Parse( @cEntry, hb_eol() ), 7 ), "" )
::Append( SubStr( Parse( @cEntry, hb_eol() ), 5 ), "" )
ELSE
::Append( Indent( Parse( @cEntry, hb_eol() ), 0, , .T. ), "" )
ENDIF
@@ -300,7 +304,7 @@ METHOD Append( cText, cFormat ) CLASS GenerateHTML
aFormat := p_aConversionList
FOR idx := 1 TO Len( aFormat ) STEP 2
cResult := StrTran( cResult, Chr( aFormat[ idx ] ), "&" + aFormat[ idx + 1 ] + ";" )
cResult := StrTran( cResult, aFormat[ idx ], "&" + aFormat[ idx + 1 ] + ";" )
NEXT
aFormat := hb_ATokens( cFormat, "," )

View File

@@ -154,7 +154,7 @@ METHOD PROCEDURE WriteEntry( cCaption, cEntry, lPreformatted ) CLASS GenerateXML
IF ! Empty( cEntry )
cResult := iif( hb_eol() $ cEntry, hb_eol() + cEntry, cEntry )
FOR idx := 1 TO Len( p_aConversionList ) STEP 2
cResult := StrTran( cResult, Chr( p_aConversionList[ idx ] ), "&" + p_aConversionList[ idx + 1 ] + ";" )
cResult := StrTran( cResult, p_aConversionList[ idx ], "&" + p_aConversionList[ idx + 1 ] + ";" )
NEXT
cEntry := cResult

View File

@@ -9,13 +9,6 @@
-gtcgi
hbdoc.prg
tmplates.prg
genbase.prg
gentxt.prg
genhtml.prg
genxml.prg
# NOTE: hbdoc doesn't work from other locations than
# the current one, so we don't install it yet.

View File

@@ -94,6 +94,7 @@ done - validate sources against these templates
#include "directry.ch"
#include "fileio.ch"
#include "hbver.ch"
#include "hbdoc.ch"
@@ -216,7 +217,7 @@ PROCEDURE Main( ... )
{;
p_hsSwitches[ "basedir" ] + "doc", ;
p_hsSwitches[ "basedir" ] + "doc" + hb_ps() + "en", ;
iif( p_hsSwitches[ "source" ], p_hsSwitches[ "basedir" ] + "source", NIL ), ;
iif( p_hsSwitches[ "source" ], p_hsSwitches[ "basedir" ] + "src", NIL ), ;
iif( p_hsSwitches[ "contribs" ], p_hsSwitches[ "basedir" ] + "contrib", NIL ), ;
}, ;
{| c | iif( ! Empty( c ), ProcessFolder( c, @aContent ), ) } )
@@ -420,26 +421,18 @@ STATIC PROCEDURE ProcessFolder( cFolder, aContent ) // this is a recursive proce
STATIC FUNCTION ProcessFile( cFile, aContent )
LOCAL aHandle := { 0, 0 } // file handle and position
LOCAL aHandle := { F_ERROR, 0 } // file handle and position
LOCAL cSectionName
LOCAL cVersion
LOCAL o
LOCAL nOldContentLen := Len( aContent )
IF ( aHandle[ 1 ] := FOpen( cFile ) ) == F_ERROR
OutErr( "error: could not open " + cFile + ", " + hb_ntos( Abs( aHandle[ 1 ] ) ) + hb_eol() )
OutErr( "error: could not open " + cFile + ", " + hb_ntos( aHandle[ 1 ] ) + hb_eol() )
RETURN .F.
ENDIF
IF ! FReadLn( @aHandle, "" ) // assume first line is ID comment prefix
// ~ FClose( aHandle[ 1 ] )
// ~ RETURN .F.
ENDIF
IF ! FReadLn( @aHandle, @cVersion ) // assume second line is ID
// ~ FClose( aHandle[ 1 ] )
// ~ RETURN .F.
ENDIF
cVersion := ""
o := Entry():New( "Template" )
@@ -647,8 +640,8 @@ STATIC FUNCTION FReadSection( aHandle, cSectionName, cSection, o )
DO WHILE ( nPosition := FSeek( aHandle[ 1 ], 0, FS_RELATIVE ) ), FReadLn( @aHandle, @cBuffer )
// TOFIX: this assumes that every line starts with " *"
cBuffer := RTrim( SubStr( cBuffer, 3 ) )
IF Left( LTrim( cBuffer ), 1 ) == p_hsSwitches[ "DELIMITER" ] ;
.AND. Right( cBuffer, 1 ) == p_hsSwitches[ "DELIMITER" ]
IF Left( LTrim( cBuffer ), 1 ) == p_hsSwitches[ "DELIMITER" ] .AND. ;
Right( cBuffer, 1 ) == p_hsSwitches[ "DELIMITER" ]
FSeek( aHandle[ 1 ], nPosition, FS_SET )
aHandle[ 2 ]-- // decrement the line number when rewinding the file
EXIT
@@ -709,7 +702,7 @@ STATIC FUNCTION FReadSection( aHandle, cSectionName, cSection, o )
STATIC PROCEDURE FileEval( acFile, bBlock, nMaxLine )
LOCAL aHandle := { 0, 0 }
LOCAL aHandle := { F_ERROR, 0 }
LOCAL cBuffer
LOCAL lCloseFile := .F.
LOCAL xResult
@@ -912,7 +905,12 @@ PROCEDURE ShowSubHelp( xLine, nMode, nIndent, n )
RETURN
STATIC FUNCTION HBRawVersion()
RETURN StrTran( Version(), "Harbour " )
RETURN hb_StrFormat( "%d.%d.%d%s (r%d)", ;
hb_Version( HB_VERSION_MAJOR ), ;
hb_Version( HB_VERSION_MINOR ), ;
hb_Version( HB_VERSION_RELEASE ), ;
hb_Version( HB_VERSION_STATUS ), ;
hb_Version( HB_VERSION_REVISION ) )
PROCEDURE ShowHelp( cExtraMessage, aArgs )
@@ -1153,3 +1151,9 @@ FUNCTION Filename( cFile, cFormat, nLength )
ENDIF
RETURN cResult
SET PROCEDURE TO "tmplates.prg"
SET PROCEDURE TO "genbase.prg"
SET PROCEDURE TO "gentxt.prg"
SET PROCEDURE TO "genhtml.prg"
SET PROCEDURE TO "genxml.prg"

View File

@@ -316,7 +316,6 @@ PROCEDURE init_Templates()
PUBLIC p_aPlatforms := { ;
{ "", "" }, ;
{ "All", "This is available on all platforms" }, ;
{ "All(64K)", "This is available on all platforms though some platforms have a string length limit of 64KB" }, ;
{ "All(GT)", "This part of the GT API and supported only by some platforms." }, ;
{ "All(LFN)", "This is available on all platforms." + hb_eol() + ;
"If long file names are available Harbour will use/display the first 15 characters " +;
@@ -325,15 +324,15 @@ PROCEDURE init_Templates()
{ "OS2(GT)", "Under OS/2 the number of columns avaliable depends of the current Terminal screen size." }, ;
{ "Win(GT)", "Under Windows, the return value of MaxRow() function is only affected if called after an SetMode() function" }, ;
{ "BSD", "This is available on the BSD platform" }, ;
{ "DARWIN", "This is available on the DARWIN platform" }, ;
{ "DARWIN", "This is available on the Darwin platform" }, ;
{ "DOS", "This is available on the MS-DOS platform" }, ;
{ "HPUX", "This is available on the HPUX platform" }, ;
{ "LINUX", "This is available on the LINUX platform" }, ;
{ "LINUX", "This is available on the Linux platform" }, ;
{ "OS2", "This is available on the OS/2 platform" }, ;
{ "SUNOS", "This is available on the SUNOS platform" }, ;
{ "SUNOS", "This is available on the SunOS platform" }, ;
{ "Unix", "This is available on the Unix platform(s)" }, ;
{ "Win", "This is available on the MS-Windows platform(s)" }, ;
{ "WinCE", "This is available on the MS-Windows-CE platform" } ;
{ "Win", "This is available on the Windows platform(s)" }, ;
{ "WinCE", "This is available on the Windows CE platform" } ;
}
PUBLIC p_aStatus := { ;
@@ -344,10 +343,10 @@ PROCEDURE init_Templates()
}
PUBLIC p_aConversionList := { ;
38, "amp", ;
34, "quot", ;
60, "lt", ;
62, "gt" ;
"&", "amp", ;
'"', "quot", ;
"<", "lt", ;
">", "gt" ;
}
RETURN

View File

@@ -451,17 +451,6 @@ FUNCTION uhttpd_AddSecondsToTime( cTime, nSecsToAdd, nDaysAdded )
RETURN cNewTime
FUNCTION uhttpd_TimeDiffAsSeconds( dDateStart, dDateEnd, cTimeStart, cTimeEnd )
LOCAL aRetVal
__defaultNIL( @dDateEnd, Date() )
__defaultNIL( @cTimeEnd, Time() )
aRetVal := ft_Elapsed( dDateStart, dDateEnd, cTimeStart, cTimeEnd )
RETURN aRetVal[ 4, 2 ]
FUNCTION uhttpd_OutputString( cString, aTranslate, lProtected )
LOCAL cHtml

View File

View File

@@ -3,10 +3,9 @@
-mt -gui
-gtwvt
uhttpd.prg
cgifunc.prg
cookie.prg
session.prg
hbwin.hbc
hbnf.hbc

View File

@@ -26,7 +26,7 @@
#document_root = $(APP_DIR)\home
# --- display folder content
#show_indexes = .f.
#show_indexes = .F.
# --- default index files
#DirectoryIndex = index.html index.htm
@@ -70,4 +70,3 @@ start_num = 10
#/images = $(APP_DIR)/images
# end

View File

@@ -58,7 +58,6 @@
*
* More description to come.
*
*
*/
/*
@@ -75,6 +74,10 @@
*/
#require "hbnf"
#require "hbwin"
#require "hbgd"
// remove comment to activate hb_ToOutDebug()
// #define DEBUG_ACTIVE
@@ -95,19 +98,19 @@ REQUEST __HB_EXTERN__
REQUEST GDChart
REQUEST GDImage
REQUEST GDImageChar
# define APP_GD_SUPPORT "_GD"
# stdout "Lib GD support enabled"
#define APP_GD_SUPPORT "_GD"
#stdout "Lib GD support enabled"
#else
# define APP_GD_SUPPORT ""
# stdout "Lib GD support disabled"
#define APP_GD_SUPPORT ""
#stdout "Lib GD support disabled"
#endif
#ifdef FIXED_THREADS
# define APP_DT_SUPPORT "_FIXED_THREADS"
# stdout "Fixed # of threads"
#define APP_DT_SUPPORT "_FIXED_THREADS"
#stdout "Fixed # of threads"
#else
# define APP_DT_SUPPORT ""
# stdout "Dynamic # of threads"
#define APP_DT_SUPPORT ""
#stdout "Dynamic # of threads"
#endif
#define APP_NAME "uhttpd"
@@ -138,20 +141,8 @@ REQUEST GDImageChar
#define CR_LF ( Chr( 13 ) + Chr( 10 ) )
#ifdef __PLATFORM__WINDOWS
REQUEST HB_GT_WVT_DEFAULT
REQUEST HB_GT_WIN
REQUEST HB_GT_NUL
#else
REQUEST HB_GT_TRM_DEFAULT
REQUEST HB_GT_NUL
#endif
#define THREAD_GT hb_gtVersion()
// dynamic call for HRB support
DYNAMIC HRBMAIN
STATIC s_lQuitRequest := .F.
STATIC s_hmtxQueue, s_hmtxServiceThreads, s_hmtxRunningThreads, s_hmtxLog, s_hmtxConsole, s_hmtxBusy
@@ -214,6 +205,12 @@ PROCEDURE Main( ... )
LOCAL nConsoleRows, nConsoleCols
LOCAL nCmdConsoleRows, nCmdConsoleCols
#if defined( __HBSCRIPT__HBSHELL )
#if defined( __PLATFORM__WINDOWS )
hbshell_gtSelect( "GTWVT" )
#endif
#endif
IF ! hb_mtvm()
? "I need multhread support. Please, recompile me!"
WAIT
@@ -231,7 +228,7 @@ PROCEDURE Main( ... )
// defaults not changeble via ini file
lStop := .F.
cConfig := EXE_Path() + hb_ps() + APP_NAME + ".ini"
cConfig := hb_DirBase() + APP_NAME + ".ini"
lConsole := .T.
nStartServiceThreads := START_SERVICE_THREADS
@@ -400,6 +397,9 @@ PROCEDURE Main( ... )
ENDIF
IF HB_ISSTRING( cApplicationRoot )
IF Empty( cApplicationRoot )
cApplicationRoot := "." + hb_ps()
ENDIF
cI := cApplicationRoot
IF hb_DirExists( cI )
IF Right( cI, 1 ) == "/" .AND. Len( cI ) > 2 .AND. !( SubStr( cI, Len( cI ) - 2, 1 ) == ":" )
@@ -2179,7 +2179,7 @@ STATIC PROCEDURE Help()
? "-c | --config Configuration file (default: " + APP_NAME + ".ini)"
? " It is possibile to define file path"
? "-a | --approot Application root directory (default: <curdir>)"
? "-d | --docroot Document root directory (default: <curdir>\home)"
? "-d | --docroot Document root directory (default: <curdir>/home)"
? "-i | --indexes Allow directory view (default: no)"
? "-s | --stop Stop webserver"
? "-ts | --start-threads Define starting threads (default: " + hb_ntos( START_RUNNING_THREADS ) + ")"
@@ -2206,19 +2206,6 @@ STATIC PROCEDURE SysSettings()
RETURN
STATIC FUNCTION Exe_Path()
LOCAL cPath := hb_argv( 0 )
LOCAL nPos := RAt( hb_ps(), cPath )
IF nPos == 0
cPath := ""
ELSE
cPath := SubStr( cPath, 1, nPos - 1 )
ENDIF
RETURN cPath
STATIC PROCEDURE Progress( /*@*/ nProgress )
LOCAL cString := "["
@@ -2286,19 +2273,19 @@ STATIC FUNCTION ParseIni( cConfig )
// Define here what attributes we can have in ini config file and their defaults
// Please add all keys in uppercase. hDefaults is Case Insensitive
hDefault := { ;
"MAIN" => { "PORT" => LISTEN_PORT , ;
"APPLICATION_ROOT" => EXE_Path() , ;
"DOCUMENT_ROOT" => EXE_Path() + hb_ps() + "home", ;
"SHOW_INDEXES" => .F. , ;
"SCRIPTALIASMIXEDCASE" => .T. , ;
"SESSIONPATH" => EXE_Path() + hb_ps() + "sessions" , ;
"DIRECTORYINDEX" => DIRECTORYINDEX_ARRAY , ;
"CONSOLE-ROWS" => MaxRow() + 1 , ;
"MAIN" => { "PORT" => LISTEN_PORT , ;
"APPLICATION_ROOT" => hb_DirBase() , ;
"DOCUMENT_ROOT" => hb_DirBase() + "home" , ;
"SHOW_INDEXES" => .F. , ;
"SCRIPTALIASMIXEDCASE" => .T. , ;
"SESSIONPATH" => hb_DirBase() + "sessions" , ;
"DIRECTORYINDEX" => DIRECTORYINDEX_ARRAY , ;
"CONSOLE-ROWS" => MaxRow() + 1 , ;
"CONSOLE-COLS" => MaxCol() + 1 }, ;
"LOGFILES" => { "ACCESS" => FILE_ACCESS_LOG , ;
"LOGFILES" => { "ACCESS" => FILE_ACCESS_LOG , ;
"ERROR" => FILE_ERROR_LOG }, ;
"THREADS" => { "MAX_WAIT" => THREAD_MAX_WAIT , ;
"START_NUM" => START_RUNNING_THREADS , ;
"THREADS" => { "MAX_WAIT" => THREAD_MAX_WAIT , ;
"START_NUM" => START_RUNNING_THREADS , ;
"MAX_NUM" => MAX_RUNNING_THREADS }, ;
"SCRIPTALIASES" => { => } , ;
"ALIASES" => { => } }
@@ -2365,7 +2352,7 @@ STATIC FUNCTION ParseIni( cConfig )
CASE cKey == "DOCUMENT_ROOT"
IF ! Empty( cVal )
// After will change APP_DIR macro with application dir
// xVal := StrTran( cVal, "$(APP_DIR)", Exe_Path() )
// xVal := StrTran( cVal, "$(APP_DIR)", hb_DirBase() )
xVal := cVal
ENDIF
CASE cKey == "SCRIPTALIASMIXEDCASE"
@@ -2373,7 +2360,7 @@ STATIC FUNCTION ParseIni( cConfig )
CASE cKey == "SESSIONPATH"
IF ! Empty( cVal )
// Change APP_DIR macro with current exe path
// xVal := StrTran( cVal, "$(APP_DIR)", Exe_Path() )
// xVal := StrTran( cVal, "$(APP_DIR)", hb_DirBase() )
xVal := cVal
ENDIF
CASE cKey == "DIRECTORYINDEX"
@@ -2567,7 +2554,7 @@ STATIC FUNCTION uhttpd_DefError( oError )
cCallstack + cNewLine + ;
Replicate( "*", 70 ) + cNewLine
uhttpd_WriteToLogFile( cString, Exe_Path() + "\error.log" )
uhttpd_WriteToLogFile( cString, hb_DirBase() + "error.log" )
ErrorLevel( 1 )
QUIT
@@ -2727,7 +2714,7 @@ STATIC FUNCTION Handler_HrbScript( cFileName )
// Change dir to document root
DirChange( s_cDocumentRoot )
xResult := HRBMAIN()
xResult := hb_hrbDo( pHRB )
#ifdef DEBUG_ACTIVE
hb_ToOutDebug( "Handler_HrbScript(): cFileName = %s,\n\rcCurPath = %s,\n\rs_cDocumentRoot = %s,\n\rpHRB = %s,\n\rxResult = %s\n\r", ;
@@ -2883,3 +2870,7 @@ STATIC FUNCTION HB_HASHI()
hb_HCaseMatch( h, .F. )
RETURN h
SET PROCEDURE TO "cgifunc.prg"
SET PROCEDURE TO "cookie.prg"
SET PROCEDURE TO "session.prg"