/[svn]/libgig/trunk/src/RIFF.cpp
ViewVC logotype

Diff of /libgig/trunk/src/RIFF.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1850 by persson, Thu Mar 6 20:42:22 2008 UTC revision 1851 by schoenebeck, Sun Mar 1 22:08:32 2009 UTC
# Line 2  Line 2 
2   *                                                                         *   *                                                                         *
3   *   libgig - C++ cross-platform Gigasampler format file access library    *   *   libgig - C++ cross-platform Gigasampler format file access library    *
4   *                                                                         *   *                                                                         *
5   *   Copyright (C) 2003-2007 by Christian Schoenebeck                      *   *   Copyright (C) 2003-2009 by Christian Schoenebeck                      *
6   *                              <cuse@users.sourceforge.net>               *   *                              <cuse@users.sourceforge.net>               *
7   *                                                                         *   *                                                                         *
8   *   This library is free software; you can redistribute it and/or modify  *   *   This library is free software; you can redistribute it and/or modify  *
# Line 274  namespace RIFF { Line 274  namespace RIFF {
274         #if DEBUG         #if DEBUG
275         std::cout << "Chunk::Read(void*,ulong,ulong)" << std::endl;         std::cout << "Chunk::Read(void*,ulong,ulong)" << std::endl;
276         #endif // DEBUG         #endif // DEBUG
277            if (ulStartPos == 0) return 0; // is only 0 if this is a new chunk, so nothing to read (yet)
278          if (ulPos >= CurrentChunkSize) return 0;          if (ulPos >= CurrentChunkSize) return 0;
279          if (ulPos + WordCount * WordSize >= CurrentChunkSize) WordCount = (CurrentChunkSize - ulPos) / WordSize;          if (ulPos + WordCount * WordSize >= CurrentChunkSize) WordCount = (CurrentChunkSize - ulPos) / WordSize;
280          #if POSIX          #if POSIX
# Line 726  namespace RIFF { Line 727  namespace RIFF {
727       * @see ReleaseChunkData()       * @see ReleaseChunkData()
728       */       */
729      void* Chunk::LoadChunkData() {      void* Chunk::LoadChunkData() {
730          if (!pChunkData && pFile->Filename != "") {          if (!pChunkData && pFile->Filename != "" && ulStartPos != 0) {
731              #if POSIX              #if POSIX
732              if (lseek(pFile->hFileRead, ulStartPos, SEEK_SET) == -1) return NULL;              if (lseek(pFile->hFileRead, ulStartPos, SEEK_SET) == -1) return NULL;
733              #elif defined(WIN32)              #elif defined(WIN32)

Legend:
Removed from v.1850  
changed lines
  Added in v.1851

  ViewVC Help
Powered by ViewVC