Address OutputStream feedback

Change-Id: I45d37600dbf0f5bcb1c646de4eed1d2e470a8bce
diff --git a/src/file_output_stream.cc b/src/file_output_stream.cc
index 8b967af..0e4a294 100644
--- a/src/file_output_stream.cc
+++ b/src/file_output_stream.cc
@@ -23,14 +23,14 @@
 
 namespace art {
 
-FileOutputStream::FileOutputStream(File* file) : OutputStream(file->GetPath()), file_(file) {};
+FileOutputStream::FileOutputStream(File* file) : OutputStream(file->GetPath()), file_(file) {}
 
 bool FileOutputStream::WriteFully(const void* buffer, int64_t byte_count) {
   return file_->WriteFully(buffer, byte_count);
 }
 
-off_t FileOutputStream::lseek(off_t offset, int whence) {
-  return ::lseek(file_->Fd(), offset, whence);
+off_t FileOutputStream::Seek(off_t offset, Whence whence) {
+  return lseek(file_->Fd(), offset, static_cast<int>(whence));
 }
 
 }  // namespace art
diff --git a/src/file_output_stream.h b/src/file_output_stream.h
index 4106744..b5eb4f8 100644
--- a/src/file_output_stream.h
+++ b/src/file_output_stream.h
@@ -24,15 +24,14 @@
 namespace art {
 
 class FileOutputStream : public OutputStream {
-
  public:
   FileOutputStream(File* file);
 
-  virtual ~FileOutputStream() {};
+  virtual ~FileOutputStream() {}
 
   virtual bool WriteFully(const void* buffer, int64_t byte_count);
 
-  virtual off_t lseek(off_t offset, int whence);
+  virtual off_t Seek(off_t offset, Whence whence);
 
  private:
   File* file_;
diff --git a/src/oat_writer.cc b/src/oat_writer.cc
index c5b698c..113beba 100644
--- a/src/oat_writer.cc
+++ b/src/oat_writer.cc
@@ -422,7 +422,7 @@
 }
 
 #define DCHECK_CODE_OFFSET() \
-  DCHECK_EQ(static_cast<off_t>(code_offset), out.lseek(0, SEEK_CUR))
+  DCHECK_EQ(static_cast<off_t>(code_offset), out.Seek(0, kSeekCurrent))
 
 bool OatWriter::Write(OutputStream& out) {
   if (!out.WriteFully(oat_header_, sizeof(*oat_header_))) {
@@ -464,7 +464,7 @@
   }
   for (size_t i = 0; i != oat_dex_files_.size(); ++i) {
     uint32_t expected_offset = oat_dex_files_[i]->dex_file_offset_;
-    off_t actual_offset = out.lseek(expected_offset, SEEK_SET);
+    off_t actual_offset = out.Seek(expected_offset, kSeekSet);
     if (static_cast<uint32_t>(actual_offset) != expected_offset) {
       const DexFile* dex_file = (*dex_files_)[i];
       PLOG(ERROR) << "Failed to seek to dex file section. Actual: " << actual_offset
@@ -488,7 +488,7 @@
 
 size_t OatWriter::WriteCode(OutputStream& out) {
   uint32_t code_offset = oat_header_->GetExecutableOffset();
-  off_t new_offset = out.lseek(executable_offset_padding_length_, SEEK_CUR);
+  off_t new_offset = out.Seek(executable_offset_padding_length_, kSeekCurrent);
   if (static_cast<uint32_t>(new_offset) != code_offset) {
     PLOG(ERROR) << "Failed to seek to oat code section. Actual: " << new_offset
                 << " Expected: " << code_offset << " File: " << out.GetLocation();
@@ -585,7 +585,7 @@
     uint32_t aligned_code_offset = compiled_method->AlignCode(code_offset);
     uint32_t aligned_code_delta = aligned_code_offset - code_offset;
     if (aligned_code_delta != 0) {
-      off_t new_offset = out.lseek(aligned_code_delta, SEEK_CUR);
+      off_t new_offset = out.Seek(aligned_code_delta, kSeekCurrent);
       if (static_cast<uint32_t>(new_offset) != aligned_code_offset) {
         PLOG(ERROR) << "Failed to seek to align oat code. Actual: " << new_offset
                     << " Expected: " << aligned_code_offset << " File: " << out.GetLocation();
@@ -696,7 +696,7 @@
                                                              compiler_->GetInstructionSet());
     uint32_t aligned_code_delta = aligned_code_offset - code_offset;
     if (aligned_code_delta != 0) {
-      off_t new_offset = out.lseek(aligned_code_delta, SEEK_CUR);
+      off_t new_offset = out.Seek(aligned_code_delta, kSeekCurrent);
       if (static_cast<uint32_t>(new_offset) != aligned_code_offset) {
         PLOG(ERROR) << "Failed to seek to align invoke stub code. Actual: " << new_offset
                     << " Expected: " << aligned_code_offset;
@@ -742,7 +742,7 @@
       uint32_t aligned_code_delta = aligned_code_offset - code_offset;
       CHECK(aligned_code_delta < 48u);
       if (aligned_code_delta != 0) {
-        off_t new_offset = out.lseek(aligned_code_delta, SEEK_CUR);
+        off_t new_offset = out.Seek(aligned_code_delta, kSeekCurrent);
         if (static_cast<uint32_t>(new_offset) != aligned_code_offset) {
           PLOG(ERROR) << "Failed to seek to align proxy stub code. Actual: " << new_offset
                       << " Expected: " << aligned_code_offset;
diff --git a/src/output_stream.h b/src/output_stream.h
index c35fe25..b03092d 100644
--- a/src/output_stream.h
+++ b/src/output_stream.h
@@ -25,11 +25,17 @@
 
 namespace art {
 
+enum Whence {
+ kSeekSet = SEEK_SET,
+ kSeekCurrent = SEEK_CUR,
+ kSeekEnd = SEEK_END,
+};
+
 class OutputStream {
  public:
-  OutputStream(const std::string& location) : location_(location) {};
+  OutputStream(const std::string& location) : location_(location) {}
 
-  virtual ~OutputStream() {};
+  virtual ~OutputStream() {}
 
   const std::string& GetLocation() const {
     return location_;
@@ -37,7 +43,7 @@
 
  virtual bool WriteFully(const void* buffer, int64_t byte_count) = 0;
 
- virtual off_t lseek(off_t offset, int whence) = 0;
+ virtual off_t Seek(off_t offset, Whence whence) = 0;
 
  private:
   const std::string location_;
diff --git a/src/output_stream_test.cc b/src/output_stream_test.cc
index 8415d9f..0e02825 100644
--- a/src/output_stream_test.cc
+++ b/src/output_stream_test.cc
@@ -24,7 +24,7 @@
 class OutputStreamTest : public CommonTest {
  protected:
   void CheckOffset(off_t expected) {
-    off_t actual = output_stream_->lseek(0, SEEK_CUR);
+    off_t actual = output_stream_->Seek(0, kSeekCurrent);
     CHECK_EQ(expected, actual);
   }
 
@@ -33,14 +33,14 @@
   }
 
   void GenerateTestOutput() {
-    CHECK_EQ(3, output_stream_->lseek(3, SEEK_CUR));
+    CHECK_EQ(3, output_stream_->Seek(3, kSeekCurrent));
     CheckOffset(3);
-    CHECK_EQ(2, output_stream_->lseek(2, SEEK_SET));
+    CHECK_EQ(2, output_stream_->Seek(2, kSeekSet));
     CheckOffset(2);
     uint8_t buf[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
     CHECK(output_stream_->WriteFully(buf, 2));
     CheckOffset(4);
-    CHECK_EQ(6, output_stream_->lseek(2, SEEK_END));
+    CHECK_EQ(6, output_stream_->Seek(2, kSeekEnd));
     CheckOffset(6);
     CHECK(output_stream_->WriteFully(buf, 4));
     CheckOffset(10);
diff --git a/src/vector_output_stream.cc b/src/vector_output_stream.cc
index 73bc209..96154ee 100644
--- a/src/vector_output_stream.cc
+++ b/src/vector_output_stream.cc
@@ -23,7 +23,7 @@
 namespace art {
 
 VectorOutputStream::VectorOutputStream(const std::string& location, std::vector<uint8_t>& vector)
-  : OutputStream(location), offset_(vector.size()), vector_(vector) {};
+  : OutputStream(location), offset_(vector.size()), vector_(vector) {}
 
 bool VectorOutputStream::WriteFully(const void* buffer, int64_t byte_count) {
   off_t new_offset = offset_ + byte_count;
@@ -33,26 +33,22 @@
   return true;
 }
 
-off_t VectorOutputStream::lseek(off_t offset, int whence) {
-  CHECK(whence == SEEK_SET || whence == SEEK_CUR || whence == SEEK_END) << whence;
-  off_t new_offset;
+off_t VectorOutputStream::Seek(off_t offset, Whence whence) {
+  CHECK(whence == kSeekSet || whence == kSeekCurrent || whence == kSeekEnd) << whence;
+  off_t new_offset = 0;
   switch (whence) {
-    case SEEK_SET: {
+    case kSeekSet: {
       new_offset = offset;
       break;
     }
-    case SEEK_CUR: {
+    case kSeekCurrent: {
       new_offset = offset_ + offset;
       break;
     }
-    case SEEK_END: {
+    case kSeekEnd: {
       new_offset = vector_.size() + offset;
       break;
     }
-    default: {
-      LOG(FATAL) << whence;
-      new_offset = -1;
-    }
   }
   EnsureCapacity(new_offset);
   offset_ = new_offset;
diff --git a/src/vector_output_stream.h b/src/vector_output_stream.h
index a11c82b..a99128e 100644
--- a/src/vector_output_stream.h
+++ b/src/vector_output_stream.h
@@ -25,15 +25,14 @@
 namespace art {
 
 class VectorOutputStream : public OutputStream {
-
  public:
   VectorOutputStream(const std::string& location, std::vector<uint8_t>& vector);
 
-  virtual ~VectorOutputStream() {};
+  virtual ~VectorOutputStream() {}
 
   virtual bool WriteFully(const void* buffer, int64_t byte_count);
 
-  virtual off_t lseek(off_t offset, int whence);
+  virtual off_t Seek(off_t offset, Whence whence);
 
  private:
   void EnsureCapacity(off_t new_offset);