|
发表于 2018-12-30 22:11:34
|
显示全部楼层
Windexter Final Report
======================
General Statistics:
Number of Files Processed ............................................ 1
Number of Files Modified ............................................. 1
Number of Switch Statements .......................................... 1
Number of Case Statements ............................................ 3
These items caused script modifications:
Number of Rogue End Statements ....................................... 0
Number of Semicolons Replaced ........................................ 0
Number of Colons Inserted ............................................ 3
Number of Reformatted Colons ......................................... 0
These items should be manually inspected:
Number of Invalid ComSets ............................................ 0
Number of Local Variable Declarations (ulcl) Within a Switch Block ... 0
Number of Stack Allocations (stkalloc) Within a Switch Block ......... 0
Number of Duplicate Cases ............................................ 0
Number of Signed 32-bit Values ....................................... 42
List of Modified Files
======================
1. "E:\XP运行TREX软件\t\IBIVSC.TRX
List of Signed 32-bit Value Warnings
====================================
(See Footnote Below for Explanation)
1. "E:\XP运行TREX软件\t\IBIVSC.TRX"
Line #1416: " getstr szfilename, "procimg.cy6"; WrOvImg -6,1"
^^
Line #1417: " getstr szfilename, "procimg.cy9"; WrOvImg -9,1"
^^
Line #1418: " getstr szfilename, "procimg.c10"; WrOvImg -10,1"
^^^
Line #1419: " getstr szfilename, "procimg.c11"; WrOvImg -11,1"
^^^
Line #1420: " getstr szfilename, "procimg.c12"; WrOvImg -12,1"
^^^
Line #1421: " getstr szfilename, "procimg.c13"; WrOvImg -13,1"
^^^
Line #1422: " getstr szfilename, "procimg.c14"; WrOvImg -14,1"
^^^
Line #1428: " getstr szfilename, "1.cyl"; WrOvImg -1,1"
^^
Line #1429: " getstr szfilename, "2.cyl"; WrOvImg -2,1"
^^
Line #1430: " getstr szfilename, "3.cyl"; WrOvImg -3,1"
^^
Line #1431: " getstr szfilename, "4.cyl"; WrOvImg -4,1"
^^
Line #1432: " getstr szfilename, "5.cyl"; WrOvImg -5,1"
^^
Line #1433: " getstr szfilename, "6.cyl"; WrOvImg -6,1"
^^
Line #1434: " getstr szfilename, "7.cyl"; WrOvImg -7,1"
^^
Line #1435: " getstr szfilename, "8.cyl"; WrOvImg -8,1"
^^
Line #1436: " getstr szfilename, "9.cyl"; WrOvImg -9,1"
^^
Line #1437: " getstr szfilename, "10.cyl"; WrOvImg -10,1"
^^^
Line #1438: " getstr szfilename, "11.cyl"; WrOvImg -11,1"
^^^
Line #1439: " getstr szfilename, "12.cyl"; WrOvImg -12,1"
^^^
Line #1440: " getstr szfilename, "13.cyl"; WrOvImg -13,1"
^^^
Line #1441: " getstr szfilename, "33.cyl"; WrOvImg -33,1"
^^^
Line #1442: " getstr szfilename, "34.cyl"; WrOvImg -34,1"
^^^
Line #1443: " getstr szfilename, "35.cyl"; WrOvImg -35,1"
^^^
Line #1444: " getstr szfilename, "36.cyl"; WrOvImg -36,1"
^^^
Line #1445: " getstr szfilename, "37.cyl"; WrOvImg -37,1"
^^^
Line #1446: " getstr szfilename, "38.cyl"; WrOvImg -38,1"
^^^
Line #1447: " getstr szfilename, "39.cyl"; WrOvImg -39,1"
^^^
Line #1448: " getstr szfilename, "40.cyl"; WrOvImg -40,1"
^^^
Line #1449: " getstr szfilename, "41.cyl"; WrOvImg -41,1"
^^^
Line #1450: " getstr szfilename, "42.cyl"; WrOvImg -42,1"
^^^
Line #1451: " getstr szfilename, "61.cyl"; WrOvImg -61,1"
^^^
Line #1474: " getstr szfilename, "procimg.cy1"; WrOvImg -1,1"
^^
Line #1475: " getstr szfilename, "procimg.cy2"; WrOvImg -2,1"
^^
Line #1476: " getstr szfilename, "procimg.cy3"; WrOvImg -3,1"
^^
Line #1477: " getstr szfilename, "procimg.cy7"; WrOvImg -7,1"
^^
Line #1478: " getstr szfilename, "procimg.cy8"; WrOvImg -8,1"
^^
Line #1479: " getstr szfilename, "procimg.cy9"; WrOvImg -9,1"
^^
Line #1612: " if( duration > 100000 ); lvar1 = -1; eif //timeout"
^^
Line #1615: " if( lvar1 == -1 )"
^^
Line #2594: " ulcCylNum = -1"
^^
Line #3388: " elseif( PrmCylID > 0xFFFFFFFF )"
^^^^^^^^^^
Line #3391: " elseif( PrmLastLBA > 0xFFFFFFFF )"
^^^^^^^^^^
+---------------------------------------------------------------------------+
| Signed 32-bit Footnote: |
+---------------------------------------------------------------------------+
| TREX stores numbers as 32-bit values, and Windex stores numbers as 64-bit |
| values. But Windex now also has full support for signed numbers. This |
| presents some challenges to the scripter when migrating code from TREX |
| to Windex. Take the following statement: |
| |
| ETC = -1 |
| |
| In TREX, this statement sets the error termination count to the highest |
| possible value, which is FFFFFFFFh. Negative values are always converted |
| to their unsigned equivalents internally. |
| |
| In Windex, the statement above will cause the first error to terminate a |
| script, because -1 is treated as a true negative value. |
| The following example demonstrates the same issue as it relates to the |
| use of ByteMaps: |
| |
| bytemap tDefectEntry |
| mLBA long |
| mBlockSize long |
| ebytemap |
| |
| if ( *( RBfr + tDefectEntry.mLBA ) == -1 ) |
| // Entry is a negative cylinder |
| else |
| // Entry is in the user area |
| eif |
| |
| This conditional check against -1 will never be true, because the value |
| -1 can't fit into 32 bits in a 64-bit world. In Windex, the value -1 is |
| FFFFFFFFFFFFFFFFh, but a long can only store FFFFFFFFh. To fix the code, |
| either change 'long' to 'qword', or change the comparison value from '-1' |
| to '0xFFFFFFFF'. |
| |
| Note that the same issue can occur with darrays -- a darray element can |
| only hold 32 bits of data. If you must deal with negative values, you |
| should use a qarray. |
+---------------------------------------------------------------------------+
|
|