Fix typo (extraneous semicolon) in fd.c patch to avoid excess seeks.
authorTom Lane
Wed, 5 Jul 2000 21:10:05 +0000 (21:10 +0000)
committerTom Lane
Wed, 5 Jul 2000 21:10:05 +0000 (21:10 +0000)
Now it skips useless SEEK_CUR 0 calls too, as intended.

src/backend/storage/file/fd.c

index 73d0788d607beaee56a37b4fcbc36c920fb58509..6a4ecb63dc26ac53506a640e3265c8b4d0cb57b9 100644 (file)
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/storage/file/fd.c,v 1.61 2000/06/15 04:10:00 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/storage/file/fd.c,v 1.62 2000/07/05 21:10:05 tgl Exp $
  *
  * NOTES:
  *
@@ -809,11 +809,13 @@ FileWrite(File file, char *buffer, int amount)
 
    FileAccess(file);
    returnCode = write(VfdCache[file].fd, buffer, amount);
-   if (returnCode > 0) {
+   if (returnCode > 0)
+   {
        VfdCache[file].seekPos += returnCode;
-   /* mark the file as needing fsync */
-   VfdCache[file].fdstate |= FD_DIRTY;
-   } else
+       /* mark the file as needing fsync */
+       VfdCache[file].fdstate |= FD_DIRTY;
+   }
+   else
        VfdCache[file].seekPos = FileUnknownPos;
 
    return returnCode;
@@ -832,6 +834,8 @@ FileSeek(File file, long offset, int whence)
        switch (whence)
        {
            case SEEK_SET:
+               if (offset < 0)
+                   elog(ERROR, "FileSeek: invalid offset: %ld", offset);
                VfdCache[file].seekPos = offset;
                break;
            case SEEK_CUR:
@@ -844,9 +848,12 @@ FileSeek(File file, long offset, int whence)
            default:
                elog(ERROR, "FileSeek: invalid whence: %d", whence);
                break;
+       }
    }
-   } else
-       switch (whence) {
+   else
+   {
+       switch (whence)
+       {
            case SEEK_SET:
                if (offset < 0)
                    elog(ERROR, "FileSeek: invalid offset: %ld", offset);
@@ -854,8 +861,8 @@ FileSeek(File file, long offset, int whence)
                    VfdCache[file].seekPos = lseek(VfdCache[file].fd, offset, whence);
                break;
            case SEEK_CUR:
-               if ((offset != 0) || (VfdCache[file].seekPos == FileUnknownPos));
-       VfdCache[file].seekPos = lseek(VfdCache[file].fd, offset, whence);
+               if (offset != 0 || VfdCache[file].seekPos == FileUnknownPos)
+                   VfdCache[file].seekPos = lseek(VfdCache[file].fd, offset, whence);
                break;
            case SEEK_END:
                VfdCache[file].seekPos = lseek(VfdCache[file].fd, offset, whence);
@@ -864,6 +871,7 @@ FileSeek(File file, long offset, int whence)
                elog(ERROR, "FileSeek: invalid whence: %d", whence);
                break;
        }
+   }
    return VfdCache[file].seekPos;
 }