Annotation of mstools/mssetup/msshared.inc, revision 1.1

1.1     ! root        1: GLOBAL SharedFileNeedsCopying AS INTEGER
        !             2: 
        !             3: DECLARE FUNCTION WCompareVersion (szVer1$, szVer2$) AS INTEGER
        !             4: 
        !             5: DECLARE FUNCTION FindSharedFileFromPath (szField$, szVersion$) AS STRING
        !             6: 
        !             7: DECLARE FUNCTION SearchForLocationForSharedFile (szRegDbKey$, szWinIniSect$, szWinIniKey$, iWinIniField%, szDefault$, szVersion$) AS STRING
        !             8: 
        !             9: 
        !            10: 
        !            11: '' returns: 1 if szVer1$ > szVer2$;  0 if equal;  -1 if szVer1$ < szVer2$
        !            12: ''
        !            13: FUNCTION WCompareVersion (szVer1$, szVer2$) STATIC AS INTEGER
        !            14:     IF szVer1$ = "" THEN
        !            15:         IF szVer2$ = "" THEN
        !            16:             WCompareVersion = 0
        !            17:         ELSE
        !            18:             WCompareVersion = -1
        !            19:         END IF
        !            20:     ELSEIF szVer2$ = "" THEN
        !            21:         WCompareVersion = 1
        !            22:     ELSE
        !            23:         WCompareVersion = 0
        !            24:         FOR i% = 1 TO 4 STEP 1
        !            25:             piece1& = GetVersionNthField(szVer1$, i%)
        !            26:             piece2& = GetVersionNthField(szVer2$, i%)
        !            27:             IF piece1& > piece2& THEN
        !            28:                 WCompareVersion = 1
        !            29:                 GOTO _WCV_END
        !            30:             ELSEIF piece1& < piece2& THEN
        !            31:                 WCompareVersion = -1
        !            32:                 GOTO _WCV_END
        !            33:             END IF
        !            34:         NEXT i%
        !            35:     END IF
        !            36: _WCV_END:
        !            37: END FUNCTION
        !            38: 
        !            39: 
        !            40: '' private to this file - needed in next api
        !            41: ''
        !            42: FUNCTION FindSharedFileFromPath(szField$, szVersion$) STATIC AS STRING
        !            43:     FindSharedFileFromPath = ""
        !            44:     SharedFileNeedsCopying = 0
        !            45:     IF szField$ <> "" THEN
        !            46:         IF DoesFileExist(szField$, OF_EXIST) = 0 THEN
        !            47:             szFile$ = STRING$(32, 32)
        !            48: 
        !            49:             IF FParseFATPathIntoPieces(szField$, NULL, 0, NULL, 0, szFile$, 31) <> 0 THEN
        !            50:                 szField$ = FindFileUsingFileOpen(szFile$)
        !            51:             ELSE
        !            52:                 szField$ = ""
        !            53:             END IF
        !            54:             szFile$ = ""
        !            55:         END IF
        !            56: 
        !            57:         IF szField$ <> "" THEN
        !            58:             IF WCompareVersion(GetVersionOfFile(szField$), szVersion$) >= 0 THEN
        !            59:                 FindSharedFileFromPath = szField$
        !            60:             ELSEIF IsFileWritable(szField$) <> 0 THEN
        !            61:                 SharedFileNeedsCopying = 1
        !            62:                 FindSharedFileFromPath = szField$
        !            63:             END IF
        !            64: 
        !            65:             szField$ = ""
        !            66:         END IF
        !            67:     END IF
        !            68: END FUNCTION
        !            69: 
        !            70: 
        !            71: FUNCTION SearchForLocationForSharedFile (szRegDbKey$, szWinIniSect$, szWinIniKey$, iWinIniField%, szDefault$, szVersion$) STATIC AS STRING
        !            72: 
        !            73:     SearchForLocationForSharedFile = szDefault$
        !            74: 
        !            75: '$IFDEF    REG_DB_ENABLED
        !            76:     IF szRegDbKey$ <> "" THEN
        !            77:         szField$ = GetRegKeyValue(szRegDbKey$)
        !            78:         szFile$ = FindSharedFileFromPath(szField$, szVersion$)
        !            79:         IF szFile$ <> "" THEN
        !            80:             SearchForLocationForSharedFile = szFile$
        !            81:             szFile$ = ""
        !            82:             GOTO _SFLSFS_END
        !            83:         END IF
        !            84:     END IF
        !            85: '$ENDIF '' REG_DB_ENABLED
        !            86: 
        !            87:     IF szWinIniSect$ <> "" AND szWinIniKey$ <> "" THEN
        !            88:         szWinIniLine$ = GetIniKeyString("WIN.INI", szWinIniSect$, szWinIniKey$)
        !            89:         IF szWinIniLine$ <> "" THEN
        !            90:             szField$ = GetNthFieldFromIniString(szWinIniLine$, iWinIniField%)
        !            91:             szWinIniLine$ = ""
        !            92:             szFile$ = FindSharedFileFromPath(szField$, szVersion$)
        !            93:             IF szFile$ <> "" THEN
        !            94:                 SearchForLocationForSharedFile = szFile$
        !            95:                 szFile$ = ""
        !            96:                 GOTO _SFLSFS_END
        !            97:             END IF
        !            98:         END IF
        !            99:     END IF
        !           100: 
        !           101:     '' return value is still szDefault$ - assume it is writable
        !           102:     SharedFileNeedsCopying = 1
        !           103:     IF DoesFileExist(szDefault$, OF_EXIST) <> 0 THEN
        !           104:         IF WCompareVersion(GetVersionOfFile(szDefault$), szVersion$) >= 0 THEN
        !           105:             SharedFileNeedsCopying = 0
        !           106:         END IF
        !           107:     END IF
        !           108: 
        !           109: _SFLSFS_END:
        !           110: 
        !           111: END FUNCTION
        !           112: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.