Changeset 364 for branches/branch-1-0/src
- Timestamp:
- May 25, 2008, 4:18:53 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/branch-1-0/src/helpers/dosh2.c
r317 r364 28 28 29 29 /* 30 * This file Copyright (C) 1997-200 6Ulrich Mller,30 * This file Copyright (C) 1997-2008 Ulrich Mller, 31 31 * Dmitry A. Steklenev. 32 32 * This file is part of the "XWorkplace helpers" source package. … … 163 163 return (s_ulrc); 164 164 } 165 166 /* 167 *@@ doshIsFixpak: 168 * checks if the OS/2 system is at a given fixpak level or higher 169 * 170 * Returns: 171 * 172 * -- FALSE: the system is at a lower level 173 * 174 * -- TRUE: the system is at the exact or a higher level 175 * 176 *@@added V1.0.8 (2008-04-07) [chennecke]: @@fixes 1067 177 */ 178 179 BOOL doshIsFixpak(BOOL fIsMcp, // in: MCP fixpak? 180 ULONG ulFixpakLevel) // in: fixpak level number 181 { 182 static BOOL s_fQueried = FALSE; 183 static BOOL s_fRc = FALSE; 184 185 if (!s_fQueried) 186 { 187 // first call: 188 // check SYSLEVEL.OS2 189 CHAR szName[CCHMAXPATH] = "?:\\OS2\\INSTALL\\SYSLEVEL.OS2"; 190 ULONG cbFile; 191 PXFILE pFile; 192 193 szName[0] = doshQueryBootDrive(); 194 if (!doshOpen(szName, 195 XOPEN_READ_EXISTING | XOPEN_BINARY, 196 &cbFile, 197 &pFile)) 198 { 199 CHAR szCsdLevel[8]; 200 CHAR szCsdLevelNumber[4]; 201 ULONG ulSize; 202 203 if (!lvlQueryLevelFileData(pFile->hf, 204 QLD_CURRENTCSD, 205 szCsdLevel, 206 sizeof(szCsdLevel), 207 &ulSize)) 208 { 209 strncpy(szCsdLevelNumber, szCsdLevel + 4, 3); 210 szCsdLevelNumber[sizeof(szCsdLevelNumber) - 1] = '\0'; 211 if (fIsMcp) 212 { 213 if ( (szCsdLevel[3] == 'C') 214 && (atol(szCsdLevelNumber) >= ulFixpakLevel)) 215 s_fRc = TRUE; 216 } 217 else 218 { 219 if ( (szCsdLevel[3] == 'C') 220 || ( (szCsdLevel[3] == 'M') 221 && (atol(szCsdLevelNumber) >= ulFixpakLevel))) 222 s_fRc = TRUE; 223 } 224 } 225 226 doshClose(&pFile); 227 } 228 229 s_fQueried = TRUE; 230 } 231 232 return (s_fRc); 233 } 234 165 235 166 236 /*
Note:
See TracChangeset
for help on using the changeset viewer.