aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2013-03-04 15:56:42 +0200
committerArnold D. Robbins <arnold@skeeve.com>2013-03-04 15:56:42 +0200
commit43e3058aef28766dfd7750adbb5ce862baf8c16a (patch)
treee61750c6b28f5098a7ecb04299ca096a40ac89eb
parent9e0c24df04a136c9128770e1f2ea8cdaac268e1c (diff)
downloadegawk-43e3058aef28766dfd7750adbb5ce862baf8c16a.tar.gz
egawk-43e3058aef28766dfd7750adbb5ce862baf8c16a.tar.bz2
egawk-43e3058aef28766dfd7750adbb5ce862baf8c16a.zip
Minor bugfix in filefuncs.c for Win 32.
-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