From 4cbf6182eab53a7d8f48646e1ba8f015d38ebbd9 Mon Sep 17 00:00:00 2001
From: Victor Zverovich <viz@meta.com>
Date: Mon, 25 Dec 2023 10:47:45 -0800
Subject: [PATCH] Remove peek

---
 test/scan.h | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/test/scan.h b/test/scan.h
index 212d1844..c03356a9 100644
--- a/test/scan.h
+++ b/test/scan.h
@@ -58,8 +58,6 @@ class scan_buffer {
 
   auto ptr() const -> const char* { return ptr_; }
 
-  auto peek() -> int { return ptr_ != end_ ? *ptr_ : EOF; }
-
  public:
   scan_buffer(const scan_buffer&) = delete;
   void operator=(const scan_buffer&) = delete;
@@ -87,10 +85,13 @@ class scan_buffer {
       return *lhs.ptr_ != *rhs.ptr_;
     }
 
-    iterator(scan_buffer* buf)
-        : ptr_(&buf->ptr_), buf_(buf), value_(static_cast<char>(buf->peek())) {
-      // TODO: fix check
-      if (value_ == EOF) ptr_ = sentinel();
+    iterator(scan_buffer* buf) : buf_(buf) {
+      if (buf->ptr_ == buf->end_) {
+        ptr_ = sentinel();
+        return;
+      }
+      ptr_ = &buf->ptr_;
+      value_ = *buf->ptr_;
     }
 
    public: