]> Kevux Git Server - fll/commitdiff
Update: add file position reset macro
authorKevin Day <kevin@kevux.org>
Thu, 7 Jun 2012 03:43:33 +0000 (22:43 -0500)
committerKevin Day <kevin@kevux.org>
Thu, 7 Jun 2012 03:43:41 +0000 (22:43 -0500)
Define a macro because creating a function is just overkill for this.
This macro should save a few lines of code when reseting the file position.

level_0/f_file/c/file.h

index 063e154a19fb966e6ad3c4a04d009d5709ecc522..16277a0e3871940a012f6d36a29b0a689c188049 100644 (file)
@@ -186,6 +186,15 @@ extern "C"{
   #define f_file_mode_world_wx  (S_IWOTH | S_IXOTH)
 #endif // _di_f_file_modes_
 
+#ifndef _di_f_macro_file_reset_position_
+  #define f_macro_file_reset_position(position, file) \
+    if (position.total_elements == 0) { \
+      fseek(file.file, 0, SEEK_END); \
+      position.total_elements = ftell(file.file); \
+      fseek(file.file, 0, SEEK_SET); \
+    }
+#endif // _di_f_macro_file_reset_position_
+
 #ifndef _di_f_file_open_
   // open a particular file and save its stream
   // filename = name of the file