Changeset: 629 v1.19.41
- Bug Fix db2: Detección errónea de tabla inválida cuando el tamaño es inferior a 328 bytes. Límite mínimo cambiado a 65 bytes. - Bug Fix vcx/scx: Detección errónea de estructuras PROCEDURE/ENDPROC cuando se usan como parámetros en LPARAMETERS (Ryan Harris) - Bug Fix db2: Detección errónea de tabla inválida cuando el tamaño es inferior a 328 bytes. Límite mínimo cambiado a 65 bytes.
This commit is contained in:
@@ -238,7 +238,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O
|
|||||||
STRTOFILE( 'MNX_Conversion_Support: 1' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 )
|
STRTOFILE( 'MNX_Conversion_Support: 1' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 )
|
||||||
STRTOFILE( 'DBF_Conversion_Support: 2' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 )
|
STRTOFILE( 'DBF_Conversion_Support: 2' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 )
|
||||||
STRTOFILE( 'DBC_Conversion_Support: 1' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 )
|
STRTOFILE( 'DBC_Conversion_Support: 1' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 )
|
||||||
STRTOFILE( 'ShowProgressbar: 0' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 )
|
STRTOFILE( 'DontShowProgress: 1' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 )
|
||||||
STRTOFILE( 'DontShowErrors: 1' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 )
|
STRTOFILE( 'DontShowErrors: 1' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 )
|
||||||
*STRTOFILE( 'Recompile: ' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 )
|
*STRTOFILE( 'Recompile: ' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 )
|
||||||
STRTOFILE( 'NoTimestamps: 0' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 )
|
STRTOFILE( 'NoTimestamps: 0' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 )
|
||||||
@@ -290,7 +290,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O
|
|||||||
ADDPROPERTY( loFB2P_Esperado, 'MNX_Conversion_Support', 1 )
|
ADDPROPERTY( loFB2P_Esperado, 'MNX_Conversion_Support', 1 )
|
||||||
ADDPROPERTY( loFB2P_Esperado, 'DBF_Conversion_Support', 2 )
|
ADDPROPERTY( loFB2P_Esperado, 'DBF_Conversion_Support', 2 )
|
||||||
ADDPROPERTY( loFB2P_Esperado, 'DBC_Conversion_Support', 1 )
|
ADDPROPERTY( loFB2P_Esperado, 'DBC_Conversion_Support', 1 )
|
||||||
ADDPROPERTY( loFB2P_Esperado, 'n_ShowProgressbar', 1 )
|
ADDPROPERTY( loFB2P_Esperado, 'n_ShowProgressbar', 0 )
|
||||||
ADDPROPERTY( loFB2P_Esperado, 'l_ShowErrors', .T. )
|
ADDPROPERTY( loFB2P_Esperado, 'l_ShowErrors', .T. )
|
||||||
ADDPROPERTY( loFB2P_Esperado, 'l_Recompile', .T. )
|
ADDPROPERTY( loFB2P_Esperado, 'l_Recompile', .T. )
|
||||||
ADDPROPERTY( loFB2P_Esperado, 'l_NoTimestamps', .T. )
|
ADDPROPERTY( loFB2P_Esperado, 'l_NoTimestamps', .T. )
|
||||||
@@ -999,7 +999,7 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O
|
|||||||
*-- DATOS DE ENTRADA
|
*-- DATOS DE ENTRADA
|
||||||
STORE 0 TO lnCodError
|
STORE 0 TO lnCodError
|
||||||
lcSeteo = 'n_ShowProgressbar'
|
lcSeteo = 'n_ShowProgressbar'
|
||||||
leValorEsperado = 1
|
leValorEsperado = .T.
|
||||||
|
|
||||||
|
|
||||||
*-- TEST
|
*-- TEST
|
||||||
|
|||||||
@@ -10585,7 +10585,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS C_CONVERSOR_BASE
|
|||||||
*-- 1.Bloque de c<>digo del m<>todo en su posici<63>n original
|
*-- 1.Bloque de c<>digo del m<>todo en su posici<63>n original
|
||||||
TRY
|
TRY
|
||||||
LOCAL lnLineCount, laLine(1), I, lnTextNodes, tcSorted, lnProtectedLine, lcMethod, lnLine_Len, lcLine, llProcOpen ;
|
LOCAL lnLineCount, laLine(1), I, lnTextNodes, tcSorted, lnProtectedLine, lcMethod, lnLine_Len, lcLine, llProcOpen ;
|
||||||
, laLineasExclusion(1), lnBloquesExclusion ;
|
, laLineasExclusion(1), lnBloquesExclusion, lcLastLine ;
|
||||||
, loEx AS EXCEPTION
|
, loEx AS EXCEPTION
|
||||||
|
|
||||||
IF NOT EMPTY(m.tcMethod) AND LEFT(m.tcMethod,9) == "ENDPROC"+CHR(13)+CHR(10)
|
IF NOT EMPTY(m.tcMethod) AND LEFT(m.tcMethod,9) == "ENDPROC"+CHR(13)+CHR(10)
|
||||||
@@ -10593,8 +10593,9 @@ DEFINE CLASS c_conversor_bin_a_prg AS C_CONVERSOR_BASE
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
IF NOT EMPTY(m.tcMethod)
|
IF NOT EMPTY(m.tcMethod)
|
||||||
|
WITH THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG'
|
||||||
DIMENSION laLine(1)
|
DIMENSION laLine(1)
|
||||||
STORE '' TO laLine
|
STORE '' TO laLine, lcLine, lcLastLine
|
||||||
STORE 0 TO lnTextNodes
|
STORE 0 TO lnTextNodes
|
||||||
|
|
||||||
lnLineCount = ALINES(laLine, m.tcMethod) && NO aplicar nung<6E>n formato ni limpieza, que es el C<>DIGO FUENTE
|
lnLineCount = ALINES(laLine, m.tcMethod) && NO aplicar nung<6E>n formato ni limpieza, que es el C<>DIGO FUENTE
|
||||||
@@ -10629,7 +10630,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS C_CONVERSOR_BASE
|
|||||||
ENDFOR
|
ENDFOR
|
||||||
|
|
||||||
*-- Identifico los TEXT/ENDTEXT, #IF .F./#ENDIF
|
*-- Identifico los TEXT/ENDTEXT, #IF .F./#ENDIF
|
||||||
THIS.identificarBloquesDeExclusion( @laLine, lnLineCount, .F., @laLineasExclusion, @lnBloquesExclusion )
|
.identificarBloquesDeExclusion( @laLine, lnLineCount, .F., @laLineasExclusion, @lnBloquesExclusion )
|
||||||
|
|
||||||
*-- Analyze and count line methods, get method names and consolidate block code
|
*-- Analyze and count line methods, get method names and consolidate block code
|
||||||
FOR I = 1 TO lnLineCount
|
FOR I = 1 TO lnLineCount
|
||||||
@@ -10638,7 +10639,10 @@ DEFINE CLASS c_conversor_bin_a_prg AS C_CONVERSOR_BASE
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
lnLine_Len = LEN( laLine(I) )
|
lnLine_Len = LEN( laLine(I) )
|
||||||
lcLine = LTRIM( laLine(I), 0, C_TAB, ' ' )
|
lcLastLine = lcLine
|
||||||
|
lcLine = laLine(I)
|
||||||
|
.get_SeparatedLineAndComment( @lcLine )
|
||||||
|
lcLine = LTRIM( lcLine, 0, C_TAB, ' ' )
|
||||||
|
|
||||||
DO CASE
|
DO CASE
|
||||||
CASE laLineasExclusion(I)
|
CASE laLineasExclusion(I)
|
||||||
@@ -10648,6 +10652,11 @@ DEFINE CLASS c_conversor_bin_a_prg AS C_CONVERSOR_BASE
|
|||||||
*-- Invalid method code, as outer code added for tools like ReFox or others, is cleaned up
|
*-- Invalid method code, as outer code added for tools like ReFox or others, is cleaned up
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
|
CASE RIGHT(lcLastLine,1) == ';'
|
||||||
|
*-- Saltear el an<61>lisis de esta l<>nea, que es continuaci<63>n de la anterior (lcLastLine).
|
||||||
|
taCode(tnMethodCount) = taCode(tnMethodCount) + laLine(I) + CR_LF
|
||||||
|
LOOP
|
||||||
|
|
||||||
CASE lnTextNodes = 0 AND UPPER( LEFT(lcLine, 10) ) == 'PROCEDURE '
|
CASE lnTextNodes = 0 AND UPPER( LEFT(lcLine, 10) ) == 'PROCEDURE '
|
||||||
tnMethodCount = tnMethodCount + 1
|
tnMethodCount = tnMethodCount + 1
|
||||||
DIMENSION taMethods(tnMethodCount, 3), taCode(tnMethodCount)
|
DIMENSION taMethods(tnMethodCount, 3), taCode(tnMethodCount)
|
||||||
@@ -10774,6 +10783,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS C_CONVERSOR_BASE
|
|||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDFOR
|
ENDFOR
|
||||||
|
ENDWITH && THIS AS c_conversor_bin_a_prg OF 'FOXBIN2PRG.PRG'
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
CATCH TO loEx
|
CATCH TO loEx
|
||||||
@@ -21297,8 +21307,8 @@ DEFINE CLASS CL_DBF_UTILS AS SESSION
|
|||||||
lcStr = FREAD(lnHandle,1) && 0 File type
|
lcStr = FREAD(lnHandle,1) && 0 File type
|
||||||
tn_HexFileType = EVALUATE( TRANSFORM(ASC(lcStr),'@0') )
|
tn_HexFileType = EVALUATE( TRANSFORM(ASC(lcStr),'@0') )
|
||||||
|
|
||||||
IF lnFileLength < 328 OR .fileTypeDescription(tn_HexFileType) = 'Unknown'
|
IF lnFileLength < 65 OR .fileTypeDescription(tn_HexFileType) = 'Unknown'
|
||||||
ERROR 15, tc_FileName
|
ERROR 15, tc_FileName + ' (FileLength < 65)'
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
.n_HexFileType = tn_HexFileType
|
.n_HexFileType = tn_HexFileType
|
||||||
|
|||||||
Reference in New Issue
Block a user