aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--extension/ChangeLog5
-rw-r--r--extension/filefuncs.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/extension/ChangeLog b/extension/ChangeLog
index 291b564d..fcaff2b7 100644
--- a/extension/ChangeLog
+++ b/extension/ChangeLog
@@ -1,3 +1,8 @@
+2013-03-04 Arnold D. Robbins <arnold@skeeve.com>
+
+ * filefuncs.c (fill_stat_array): Adjust computation for block
+ count for WIN32 systems after consultation with Eli Zaretskii.
+
2013-02-11 Arnold D. Robbins <arnold@skeeve.com>
* fnmatch.c: Pull in versions of C routine from missing_d
diff --git a/extension/filefuncs.c b/extension/filefuncs.c
index a4ae7560..579b4087 100644
--- a/extension/filefuncs.c
+++ b/extension/filefuncs.c
@@ -309,7 +309,7 @@ fill_stat_array(const char *name, awk_array_t array, struct stat *sbuf)
array_set_numeric(array, "gid", sbuf->st_gid);
array_set_numeric(array, "size", sbuf->st_size);
#ifdef _WIN32
- array_set_numeric(array, "blocks", sbuf->st_size / 4096);
+ array_set_numeric(array, "blocks", (sbuf->st_size + 4095) / 4096);
#else
array_set_numeric(array, "blocks", sbuf->st_blocks);
#endif