about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/loader/loader.nim4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/loader/loader.nim b/src/loader/loader.nim
index c6177188..f444508f 100644
--- a/src/loader/loader.nim
+++ b/src/loader/loader.nim
@@ -273,7 +273,9 @@ proc loadStream(ctx: LoaderContext, handle: LoaderHandle, request: Request,
     doAssert fstat(fdp[], stats) != -1
     handle.istream = ps
     ctx.passedFdMap.del(request.url.host)
-    if S_ISREG(stats.st_mode): # probably stdin, like cha <file
+    if S_ISCHR(stats.st_mode) or S_ISREG(stats.st_mode):
+      # regular file: e.g. cha <file
+      # or character device: e.g. cha </dev/null
       handle.output.ostream.setBlocking(false)
       if handle.cached:
         ctx.addCacheFile(handle, originalUrl)