[libc-commits] [PATCH] D136785: [libc] add fgets
    Siva Chandra via Phabricator via libc-commits 
    libc-commits at lists.llvm.org
       
    Wed Oct 26 15:16:16 PDT 2022
    
    
  
sivachandra accepted this revision.
sivachandra added inline comments.
================
Comment at: libc/src/stdio/fgets.cpp:26
+      reinterpret_cast<__llvm_libc::File *__restrict>(raw_stream);
+  stream->lock();
+
----------------
michaelrj wrote:
> sivachandra wrote:
> > Use `FileLock` instead:
> > 
> > ```
> > File::FileLock lock(stream);
> > ```
> > 
> > You can use a nested block to reduce the scope of the lock.
> I tried using `FileLock` but it's a private part of File.
Ok, never mind then.
================
Comment at: libc/test/src/stdio/fgets_test.cpp:71
+
+    EXPECT_STREQ(buff, output_arr[i]);
+  }
----------------
michaelrj wrote:
> sivachandra wrote:
> > Add tests for error.
> The only true error state for `fgets` is a read error, which is tested above when I try to read from the write-only file. If there are other error states you see that I don't test then I'll add cases for them, but I don't see any.
What I mean is to add:
```
ASSERT_EQ(__llvm_libc::ferror(file), 0);
```
inside of the `for` block above.
Repository:
  rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D136785/new/
https://reviews.llvm.org/D136785
    
    
More information about the libc-commits
mailing list