(file-mod-time, file-mod-time-indirect): New primitives to obtain the
authorChris Hanson <org/chris-hanson/cph>
Thu, 8 Nov 1990 11:06:12 +0000 (11:06 +0000)
committerChris Hanson <org/chris-hanson/cph>
Thu, 8 Nov 1990 11:06:12 +0000 (11:06 +0000)
modification time of a file.

v7/src/microcode/pruxfs.c

index 73d225f13568cbf2d63adc05131ba77b0be7e5cc..50dd36deea07a60722111f902dd75925e6575410 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-C-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/pruxfs.c,v 9.42 1990/06/20 19:39:44 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/pruxfs.c,v 9.43 1990/11/08 11:06:12 cph Rel $
 
 Copyright (c) 1987, 1988, 1989, 1990 Massachusetts Institute of Technology
 
@@ -49,7 +49,7 @@ static void EXFUN (protect_fd, (int fd));
 #ifndef FILE_TOUCH_OPEN_TRIES
 #define FILE_TOUCH_OPEN_TRIES 5
 #endif
-
+\f
 DEFINE_PRIMITIVE ("FILE-MODES", Prim_file_modes, 1, 1,
   "Return mode bits of FILE, as an integer.")
 {
@@ -69,6 +69,26 @@ DEFINE_PRIMITIVE ("SET-FILE-MODES!", Prim_set_file_modes, 2, 2,
     error_system_call (errno, "chmod");
   PRIMITIVE_RETURN (SHARP_F);
 }
+
+DEFINE_PRIMITIVE ("FILE-MOD-TIME", Prim_file_mod_time, 1, 1, 0)
+{
+  struct stat s;
+  PRIMITIVE_HEADER (1);
+  PRIMITIVE_RETURN
+    (((UX_lstat ((STRING_ARG (1)), (&s))) < 0)
+     ? SHARP_F
+     : (long_to_integer (s . st_mtime)));
+}
+
+DEFINE_PRIMITIVE ("FILE-MOD-TIME-INDIRECT", Prim_file_mod_time_indirect, 1, 1, 0)
+{
+  struct stat s;
+  PRIMITIVE_HEADER (1);
+  PRIMITIVE_RETURN
+    (((UX_stat ((STRING_ARG (1)), (&s))) < 0)
+     ? SHARP_F
+     : (long_to_integer (s . st_mtime)));
+}
 \f
 /* Returns a vector of 10 items: