diff --git a/ChangeLog.txt b/ChangeLog.txt index f28a2b8a2d..758f0bcd0b 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -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 diff --git a/README.txt b/README.txt index 8073c88524..88e252794b 100644 --- a/README.txt +++ b/README.txt @@ -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) diff --git a/doc/en/file.txt b/doc/en/file.txt index 4902ee1793..c788daa874 100644 --- a/doc/en/file.txt +++ b/doc/en/file.txt @@ -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$ diff --git a/doc/en/hbflock.txt b/doc/en/hbflock.txt index d69f3b8457..d256277936 100644 --- a/doc/en/hbflock.txt +++ b/doc/en/hbflock.txt @@ -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$ diff --git a/doc/en/memo.txt b/doc/en/memo.txt index 20db562804..244610027a 100644 --- a/doc/en/memo.txt +++ b/doc/en/memo.txt @@ -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$ diff --git a/doc/en/menu.txt b/doc/en/menu.txt index 16ed17d470..03d3d28d99 100644 --- a/doc/en/menu.txt +++ b/doc/en/menu.txt @@ -261,7 +261,6 @@ Following are active keys that handled by __MenuTo(): - key Meaning @@ -278,7 +277,7 @@ First letter Select next menu with the same first letter, | return this item position.
- 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 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 does not exist or not visible, a PRIVATE variable named 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: - 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.
- 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. diff --git a/doc/en/string.txt b/doc/en/string.txt index 6920b226da..465cebf36f 100644 --- a/doc/en/string.txt +++ b/doc/en/string.txt @@ -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$ diff --git a/extras/hbdoc/genhtml.prg b/extras/hbdoc/genhtml.prg index d34fcba9cb..177c2d6644 100644 --- a/extras/hbdoc/genhtml.prg +++ b/extras/hbdoc/genhtml.prg @@ -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, "," ) diff --git a/extras/hbdoc/genxml.prg b/extras/hbdoc/genxml.prg index 24ad2dc0cf..c85fdcf03e 100644 --- a/extras/hbdoc/genxml.prg +++ b/extras/hbdoc/genxml.prg @@ -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 diff --git a/extras/hbdoc/hbdoc.hbp b/extras/hbdoc/hbdoc.hbp index 4a2dd3e7bf..9205e22447 100644 --- a/extras/hbdoc/hbdoc.hbp +++ b/extras/hbdoc/hbdoc.hbp @@ -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. diff --git a/extras/hbdoc/hbdoc.prg b/extras/hbdoc/hbdoc.prg index 785ad21856..bbdcf40ef3 100644 --- a/extras/hbdoc/hbdoc.prg +++ b/extras/hbdoc/hbdoc.prg @@ -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" diff --git a/extras/hbdoc/tmplates.prg b/extras/hbdoc/tmplates.prg index f226bca463..530af79514 100644 --- a/extras/hbdoc/tmplates.prg +++ b/extras/hbdoc/tmplates.prg @@ -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 diff --git a/extras/httpsrv/cgifunc.prg b/extras/httpsrv/cgifunc.prg index 6f1a1c8bcd..2fd66c3a31 100644 --- a/extras/httpsrv/cgifunc.prg +++ b/extras/httpsrv/cgifunc.prg @@ -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 diff --git a/extras/httpsrv/logs/empty b/extras/httpsrv/logs/empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/extras/httpsrv/uhttpd.hbp b/extras/httpsrv/uhttpd.hbp index d0d538695e..eed368e1a3 100644 --- a/extras/httpsrv/uhttpd.hbp +++ b/extras/httpsrv/uhttpd.hbp @@ -3,10 +3,9 @@ -mt -gui +-gtwvt + uhttpd.prg -cgifunc.prg -cookie.prg -session.prg hbwin.hbc hbnf.hbc diff --git a/extras/httpsrv/uhttpd.ini b/extras/httpsrv/uhttpd.ini index 1842c9c13a..d3972ca27a 100644 --- a/extras/httpsrv/uhttpd.ini +++ b/extras/httpsrv/uhttpd.ini @@ -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 - diff --git a/extras/httpsrv/uhttpd.prg b/extras/httpsrv/uhttpd.prg index e3fb563d9d..3b289d7def 100644 --- a/extras/httpsrv/uhttpd.prg +++ b/extras/httpsrv/uhttpd.prg @@ -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: )" - ? "-d | --docroot Document root directory (default: \home)" + ? "-d | --docroot Document root directory (default: /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"