2009-08-19 06:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)

* contrib/hbtip/thtml.prg
    ! Fixed hang in 'OEMTOHTML( "&" )'. Reported on c.l.xhb.
      Fix based on Eduardo Fernandes suggestion, although done 
      a little differently and extended to avoid new RTE.
This commit is contained in:
Viktor Szakats
2009-08-19 04:29:31 +00:00
parent 27c26eda9e
commit 53b0ef468d
2 changed files with 23 additions and 13 deletions

View File

@@ -17,6 +17,12 @@
past entries belonging to author(s): Viktor Szakats.
*/
2009-08-19 06:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbtip/thtml.prg
! Fixed hang in 'OEMTOHTML( "&" )'. Reported on c.l.xhb.
Fix based on Eduardo Fernandes suggestion, although done
a little differently and extended to avoid new RTE.
2009-08-19 06:16 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
+ Added wininet syslib to std lib list for win platform.

View File

@@ -1302,14 +1302,14 @@ STATIC FUNCTION __ParseAttr( parser )
ENDIF
parser:p_end := parser:p_pos
parser:p_pos --
parser:p_pos--
EXIT
CASE '"'
CASE "'"
lIsQuoted := .T.
parser:p_end := parser:p_pos
parser:p_pos ++
parser:p_pos++
nStart := parser:p_pos
@@ -1317,7 +1317,7 @@ STATIC FUNCTION __ParseAttr( parser )
// empty value ""
hHash[ aAttr[ 1 ] ] := ""
parser:p_end := parser:p_pos
parser:p_pos --
parser:p_pos--
ELSE
P_SEEKI( parser, cChr )
nEnd := parser:p_pos
@@ -4360,7 +4360,7 @@ FUNCTION AnsiToHtml( cAnsiText )
nEnd := parser:p_pos
cText := SubStr( parser:p_str, nStart, nEnd-nStart )
DO WHILE ! ( ( cChr := P_NEXT( parser ) ) $ "; " ) .AND. parser:p_pos != 0
DO WHILE ! ( ( cChr := P_NEXT( parser ) ) $ "; " ) .AND. ! Empty( cChr ) .AND. parser:p_pos != 0
ENDDO
SWITCH cChr
@@ -4368,9 +4368,9 @@ FUNCTION AnsiToHtml( cAnsiText )
// HTML character entity found
nStart := nEnd
nEnd := parser:p_pos+1
cEntity := SubStr( parser:p_str, nStart, nEnd-nStart )
cEntity := SubStr( parser:p_str, nStart, nEnd - nStart )
parser:p_end := parser:p_pos
parser:p_pos ++
parser:p_pos++
EXIT
CASE " "
// "&" character found
@@ -4381,16 +4381,20 @@ FUNCTION AnsiToHtml( cAnsiText )
nStart := nEnd
cHtmlText += "&" + SubStr( cText, 2 )
LOOP
OTHERWISE
cEntity := NIL
ENDSWITCH
nStart := parser:p_pos
FOR EACH aEntity IN s_aHtmlAnsiEntities
IF aEntity[ 1 ] $ cText
cText := StrTran( cText, aEntity[ 1 ], aEntity[ 2 ] )
ENDIF
NEXT
IF cEntity != NIL
nStart := parser:p_pos
FOR EACH aEntity IN s_aHtmlAnsiEntities
IF aEntity[ 1 ] $ cText
cText := StrTran( cText, aEntity[ 1 ], aEntity[ 2 ] )
ENDIF
NEXT
cHtmlText += cText + cEntity
cHtmlText += cText + cEntity
ENDIF
ENDDO
cText := SubStr( parser:p_str, nStart )