Changeset 1913
- Timestamp:
- 01/03/01 11:20:10 (8 years ago)
- Files:
-
- trunk/frmts/hfa/hfaband.cpp (modified) (8 diffs)
- trunk/frmts/hfa/hfaentry.cpp (modified) (10 diffs)
- trunk/frmts/hfa/hfaopen.cpp (modified) (16 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/frmts/hfa/hfaband.cpp
r1904 r1913 29 29 * 30 30 * $Log$ 31 * Revision 1.14 2001/01/03 16:20:10 warmerda 32 * Converted to large file API 33 * 31 34 * Revision 1.13 2000/12/29 16:37:32 warmerda 32 35 * Use GUInt32 for all file offsets … … 491 494 /* Otherwise we really read the data. */ 492 495 /* -------------------------------------------------------------------- */ 493 if( VSIFSeek ( psInfo->fp, panBlockStart[iBlock], SEEK_SET ) != 0 )496 if( VSIFSeekL( psInfo->fp, panBlockStart[iBlock], SEEK_SET ) != 0 ) 494 497 { 495 498 CPLError( CE_Failure, CPLE_FileIO, … … 509 512 pabyCData = (GByte *) CPLMalloc(panBlockSize[iBlock]); 510 513 511 if( VSIFRead ( pabyCData, panBlockSize[iBlock], 1, psInfo->fp ) != 1 )514 if( VSIFReadL( pabyCData, panBlockSize[iBlock], 1, psInfo->fp ) != 1 ) 512 515 { 513 516 CPLError( CE_Failure, CPLE_FileIO, … … 531 534 /* Read uncompressed data directly into the return buffer. */ 532 535 /* -------------------------------------------------------------------- */ 533 if( VSIFRead ( pData, panBlockSize[iBlock], 1, psInfo->fp ) != 1 )536 if( VSIFReadL( pData, panBlockSize[iBlock], 1, psInfo->fp ) != 1 ) 534 537 return CE_Failure; 535 538 … … 597 600 /* Move to the location that the data sits. */ 598 601 /* -------------------------------------------------------------------- */ 599 if( VSIFSeek ( psInfo->fp, panBlockStart[iBlock], SEEK_SET ) != 0 )602 if( VSIFSeekL( psInfo->fp, panBlockStart[iBlock], SEEK_SET ) != 0 ) 600 603 { 601 604 CPLError( CE_Failure, CPLE_FileIO, … … 641 644 /* Write uncompressed data. */ 642 645 /* -------------------------------------------------------------------- */ 643 if( VSIFWrite ( pData, panBlockSize[iBlock], 1, psInfo->fp ) != 1 )646 if( VSIFWriteL( pData, panBlockSize[iBlock], 1, psInfo->fp ) != 1 ) 644 647 return CE_Failure; 645 648 … … 723 726 724 727 725 VSIFSeek ( psInfo->fp, poColumnEntry->GetIntField("columnDataPtr"),728 VSIFSeekL( psInfo->fp, poColumnEntry->GetIntField("columnDataPtr"), 726 729 SEEK_SET ); 727 VSIFRead ( apadfPCT[iColumn], sizeof(double), nPCTColors,730 VSIFReadL( apadfPCT[iColumn], sizeof(double), nPCTColors, 728 731 psInfo->fp); 729 732 … … 839 842 HFAStandard( 8, padfFileData + iColor ); 840 843 } 841 VSIFSeek ( psInfo->fp, nOffset, SEEK_SET );842 VSIFWrite ( padfFileData, 8, nColors, psInfo->fp );844 VSIFSeekL( psInfo->fp, nOffset, SEEK_SET ); 845 VSIFWriteL( padfFileData, 8, nColors, psInfo->fp ); 843 846 CPLFree( padfFileData ); 844 847 } trunk/frmts/hfa/hfaentry.cpp
r1745 r1913 34 34 * 35 35 * $Log$ 36 * Revision 1.6 2001/01/03 16:20:10 warmerda 37 * Converted to large file API 38 * 36 39 * Revision 1.5 2000/10/12 19:30:32 warmerda 37 40 * substantially improved write support … … 93 96 int i; 94 97 95 if( VSIFSeek ( psHFA->fp, nFilePos, SEEK_SET ) == -196 || VSIFRead ( anEntryNums, sizeof(GInt32), 6, psHFA->fp ) < 1 )98 if( VSIFSeekL( psHFA->fp, nFilePos, SEEK_SET ) == -1 99 || VSIFReadL( anEntryNums, sizeof(GInt32), 6, psHFA->fp ) < 1 ) 97 100 { 98 101 CPLError( CE_Failure, CPLE_FileIO, 99 "VSIFRead () failed in HFAEntry()." );102 "VSIFReadL() failed in HFAEntry()." ); 100 103 return; 101 104 } … … 112 115 /* Read the name, and type. */ 113 116 /* -------------------------------------------------------------------- */ 114 if( VSIFRead ( szName, 1, 64, psHFA->fp ) < 1115 || VSIFRead ( szType, 1, 32, psHFA->fp ) < 1 )117 if( VSIFReadL( szName, 1, 64, psHFA->fp ) < 1 118 || VSIFReadL( szType, 1, 32, psHFA->fp ) < 1 ) 116 119 { 117 120 CPLError( CE_Failure, CPLE_FileIO, 118 "VSIFRead () failed in HFAEntry()." );121 "VSIFReadL() failed in HFAEntry()." ); 119 122 return; 120 123 } … … 252 255 /* -------------------------------------------------------------------- */ 253 256 pabyData = (GByte *) CPLMalloc(nDataSize); 254 if( VSIFSeek ( psHFA->fp, nDataPos, SEEK_SET ) < 0 )257 if( VSIFSeekL( psHFA->fp, nDataPos, SEEK_SET ) < 0 ) 255 258 { 256 259 CPLError( CE_Failure, CPLE_FileIO, 257 "VSIFSeek () failed in HFAEntry::LoadData()." );260 "VSIFSeekL() failed in HFAEntry::LoadData()." ); 258 261 return; 259 262 } 260 263 261 if( VSIFRead ( pabyData, 1, nDataSize, psHFA->fp ) < 1 )264 if( VSIFReadL( pabyData, 1, nDataSize, psHFA->fp ) < 1 ) 262 265 { 263 266 CPLError( CE_Failure, CPLE_FileIO, 264 "VSIFRead () failed in HFAEntry::LoadData()." );267 "VSIFReadL() failed in HFAEntry::LoadData()." ); 265 268 return; 266 269 } … … 640 643 GUInt32 nLong; 641 644 642 fflush( psHFA->fp );643 if( VSIFSeek ( psHFA->fp, nFilePos, SEEK_SET ) != 0 )645 VSIFFlushL( psHFA->fp ); 646 if( VSIFSeekL( psHFA->fp, nFilePos, SEEK_SET ) != 0 ) 644 647 { 645 648 CPLError( CE_Failure, CPLE_FileIO, … … 651 654 nLong = nNextPos; 652 655 HFAStandard( 4, &nLong ); 653 VSIFWrite ( &nLong, 4, 1, psHFA->fp );656 VSIFWriteL( &nLong, 4, 1, psHFA->fp ); 654 657 655 658 if( poPrev != NULL ) … … 658 661 nLong = 0; 659 662 HFAStandard( 4, &nLong ); 660 VSIFWrite ( &nLong, 4, 1, psHFA->fp );663 VSIFWriteL( &nLong, 4, 1, psHFA->fp ); 661 664 662 665 if( poParent != NULL ) … … 665 668 nLong = 0; 666 669 HFAStandard( 4, &nLong ); 667 VSIFWrite ( &nLong, 4, 1, psHFA->fp );670 VSIFWriteL( &nLong, 4, 1, psHFA->fp ); 668 671 669 672 nLong = nChildPos; 670 673 HFAStandard( 4, &nLong ); 671 VSIFWrite ( &nLong, 4, 1, psHFA->fp );674 VSIFWriteL( &nLong, 4, 1, psHFA->fp ); 672 675 673 676 674 677 nLong = nDataPos; 675 678 HFAStandard( 4, &nLong ); 676 VSIFWrite ( &nLong, 4, 1, psHFA->fp );679 VSIFWriteL( &nLong, 4, 1, psHFA->fp ); 677 680 678 681 nLong = nDataSize; 679 682 HFAStandard( 4, &nLong ); 680 VSIFWrite ( &nLong, 4, 1, psHFA->fp );681 682 VSIFWrite ( szName, 1, 64, psHFA->fp );683 VSIFWrite ( szType, 1, 32, psHFA->fp );683 VSIFWriteL( &nLong, 4, 1, psHFA->fp ); 684 685 VSIFWriteL( szName, 1, 64, psHFA->fp ); 686 VSIFWriteL( szType, 1, 32, psHFA->fp ); 684 687 685 688 nLong = 0; /* Should we keep the time, or set it more reasonably? */ 686 if( VSIFWrite ( &nLong, 4, 1, psHFA->fp ) != 1 )689 if( VSIFWriteL( &nLong, 4, 1, psHFA->fp ) != 1 ) 687 690 { 688 691 CPLError( CE_Failure, CPLE_FileIO, … … 695 698 /* Write out the data. */ 696 699 /* -------------------------------------------------------------------- */ 697 fflush( psHFA->fp );700 VSIFFlushL( psHFA->fp ); 698 701 if( nDataSize > 0 && pabyData != NULL ) 699 702 { 700 if( VSIFSeek ( psHFA->fp, nDataPos, SEEK_SET ) != 0701 || VSIFWrite ( pabyData, nDataSize, 1, psHFA->fp ) != 1 )703 if( VSIFSeekL( psHFA->fp, nDataPos, SEEK_SET ) != 0 704 || VSIFWriteL( pabyData, nDataSize, 1, psHFA->fp ) != 1 ) 702 705 { 703 706 CPLError( CE_Failure, CPLE_FileIO, … … 709 712 } 710 713 711 fflush( psHFA->fp );714 VSIFFlushL( psHFA->fp ); 712 715 } 713 716 trunk/frmts/hfa/hfaopen.cpp
r1796 r1913 36 36 * 37 37 * $Log$ 38 * Revision 1.12 2001/01/03 16:20:10 warmerda 39 * Converted to large file API 40 * 38 41 * Revision 1.11 2000/10/31 18:02:32 warmerda 39 42 * Added external and unnamed overview support … … 85 88 int nDictSize = 0; 86 89 87 VSIFSeek ( hHFA->fp, hHFA->nDictionaryPos, SEEK_SET );90 VSIFSeekL( hHFA->fp, hHFA->nDictionaryPos, SEEK_SET ); 88 91 89 92 while( TRUE ) … … 95 98 } 96 99 97 if( VSIFRead ( pszDictionary + nDictSize, 1, 1, hHFA->fp ) < 1100 if( VSIFReadL( pszDictionary + nDictSize, 1, 1, hHFA->fp ) < 1 98 101 || pszDictionary[nDictSize] == '\0' 99 102 || (nDictSize > 2 && pszDictionary[nDictSize-2] == ',' … … 126 129 /* -------------------------------------------------------------------- */ 127 130 if( EQUAL(pszAccess,"r") || EQUAL(pszAccess,"rb" ) ) 128 fp = VSIFOpen ( pszFilename, "rb" );131 fp = VSIFOpenL( pszFilename, "rb" ); 129 132 else 130 fp = VSIFOpen ( pszFilename, "r+b" );133 fp = VSIFOpenL( pszFilename, "r+b" ); 131 134 132 135 /* should this be changed to use some sort of CPLFOpen() which will … … 144 147 /* Read and verify the header. */ 145 148 /* -------------------------------------------------------------------- */ 146 if( VSIFRead ( szHeader, 16, 1, fp ) < 1 )149 if( VSIFReadL( szHeader, 16, 1, fp ) < 1 ) 147 150 { 148 151 CPLError( CE_Failure, CPLE_AppDefined, … … 175 178 /* Where is the header? */ 176 179 /* -------------------------------------------------------------------- */ 177 VSIFRead ( &nHeaderPos, sizeof(GInt32), 1, fp );180 VSIFReadL( &nHeaderPos, sizeof(GInt32), 1, fp ); 178 181 HFAStandard( 4, &nHeaderPos ); 179 182 … … 181 184 /* Read the header. */ 182 185 /* -------------------------------------------------------------------- */ 183 VSIFSeek ( fp, nHeaderPos, SEEK_SET );184 185 VSIFRead ( &(psInfo->nVersion), sizeof(GInt32), 1, fp );186 VSIFSeekL( fp, nHeaderPos, SEEK_SET ); 187 188 VSIFReadL( &(psInfo->nVersion), sizeof(GInt32), 1, fp ); 186 189 HFAStandard( 4, &(psInfo->nVersion) ); 187 190 188 VSIFRead ( szHeader, 4, 1, fp ); /* skip freeList */189 190 VSIFRead ( &(psInfo->nRootPos), sizeof(GInt32), 1, fp );191 VSIFReadL( szHeader, 4, 1, fp ); /* skip freeList */ 192 193 VSIFReadL( &(psInfo->nRootPos), sizeof(GInt32), 1, fp ); 191 194 HFAStandard( 4, &(psInfo->nRootPos) ); 192 195 193 VSIFRead ( &(psInfo->nEntryHeaderLength), sizeof(GInt16), 1, fp );196 VSIFReadL( &(psInfo->nEntryHeaderLength), sizeof(GInt16), 1, fp ); 194 197 HFAStandard( 2, &(psInfo->nEntryHeaderLength) ); 195 198 196 VSIFRead ( &(psInfo->nDictionaryPos), sizeof(GInt32), 1, fp );199 VSIFReadL( &(psInfo->nDictionaryPos), sizeof(GInt32), 1, fp ); 197 200 HFAStandard( 4, &(psInfo->nDictionaryPos) ); 198 201 … … 200 203 /* Collect file size. */ 201 204 /* -------------------------------------------------------------------- */ 202 VSIFSeek ( fp, 0, SEEK_END );203 psInfo->nEndOfFile = VSIFTell ( fp );205 VSIFSeekL( fp, 0, SEEK_END ); 206 psInfo->nEndOfFile = VSIFTellL( fp ); 204 207 205 208 /* -------------------------------------------------------------------- */ … … 249 252 CPLFormFilename( psBase->pszPath, pszFilename, NULL ) ); 250 253 251 fp = VSIFOpen ( pszDependent, "rb" );254 fp = VSIFOpenL( pszDependent, "rb" ); 252 255 if( fp != NULL ) 253 256 { 254 VSIFClose ( fp );257 VSIFCloseL( fp ); 255 258 psBase->psDependent = HFAOpen( pszDependent, "rb" ); 256 259 } … … 327 330 delete hHFA->poRoot; 328 331 329 VSIFClose ( hHFA->fp );332 VSIFCloseL( hHFA->fp ); 330 333 331 334 if( hHFA->poDictionary != NULL ) … … 1115 1118 /* Create the file in the file system. */ 1116 1119 /* -------------------------------------------------------------------- */ 1117 fp = VSIFOpen ( pszFilename, "w+b" );1120 fp = VSIFOpenL( pszFilename, "w+b" ); 1118 1121 if( fp == NULL ) 1119 1122 { … … 1146 1149 GInt32 nHeaderPos; 1147 1150 1148 VSIFWrite ( (void *) "EHFA_HEADER_TAG", 1, 16, fp );1151 VSIFWriteL( (void *) "EHFA_HEADER_TAG", 1, 16, fp ); 1149 1152 1150 1153 nHeaderPos = 20; 1151 1154 HFAStandard( 4, &nHeaderPos ); 1152 VSIFWrite ( &nHeaderPos, 4, 1, fp );1155 VSIFWriteL( &nHeaderPos, 4, 1, fp ); 1153 1156 1154 1157 /* -------------------------------------------------------------------- */ … … 1170 1173 HFAStandard( 4, &nDictionaryPtr ); 1171 1174 1172 VSIFWrite ( &nVersion, 4, 1, fp );1173 VSIFWrite ( &nFreeList, 4, 1, fp );1174 VSIFWrite ( &nRootEntry, 4, 1, fp );1175 VSIFWrite ( &nEntryHeaderLength, 2, 1, fp );1176 VSIFWrite ( &nDictionaryPtr, 4, 1, fp );1175 VSIFWriteL( &nVersion, 4, 1, fp ); 1176 VSIFWriteL( &nFreeList, 4, 1, fp ); 1177 VSIFWriteL( &nRootEntry, 4, 1, fp ); 1178 VSIFWriteL( &nEntryHeaderLength, 2, 1, fp ); 1179 VSIFWriteL( &nDictionaryPtr, 4, 1, fp ); 1177 1180 1178 1181 /* -------------------------------------------------------------------- */ … … 1193 1196 strcat( psInfo->pszDictionary, aszDefaultDD[iChunk] ); 1194 1197 1195 VSIFWrite ( (void *) psInfo->pszDictionary, 1,1196 strlen(psInfo->pszDictionary)+1, fp );1198 VSIFWriteL( (void *) psInfo->pszDictionary, 1, 1199 strlen(psInfo->pszDictionary)+1, fp ); 1197 1200 1198 1201 psInfo->poDictionary = new HFADictionary( psInfo->pszDictionary ); 1199 1202 1200 psInfo->nEndOfFile = VSIFTell ( fp );1203 psInfo->nEndOfFile = VSIFTellL( fp ); 1201 1204 1202 1205 /* -------------------------------------------------------------------- */ … … 1265 1268 nRootPos = hHFA->nRootPos = hHFA->poRoot->GetFilePos(); 1266 1269 HFAStandard( 4, &nRootPos ); 1267 VSIFSeek ( hHFA->fp, 20 + 8, SEEK_SET );1268 VSIFWrite ( &nRootPos, 4, 1, hHFA->fp );1270 VSIFSeekL( hHFA->fp, 20 + 8, SEEK_SET ); 1271 VSIFWriteL( &nRootPos, 4, 1, hHFA->fp ); 1269 1272 } 1270 1273 … … 1449 1452 poEhfa_Layer->SetIntField( "dictionaryPtr", nLDict ); 1450 1453 1451 VSIFSeek ( psInfo->fp, nLDict, SEEK_SET );1452 VSIFWrite ( (void *) szLDict, strlen(szLDict)+1, 1, psInfo->fp );1454 VSIFSeekL( psInfo->fp, nLDict, SEEK_SET ); 1455 VSIFWriteL( (void *) szLDict, strlen(szLDict)+1, 1, psInfo->fp ); 1453 1456 } 1454 1457
