Annotation of mstools/mssetup/include/msshared.inc, revision 1.1.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.