summaryrefslogtreecommitdiffhomepage
path: root/libs/nixio/src/fs.c
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2009-10-26 04:52:07 +0000
committerFelix Fietkau <nbd@openwrt.org>2009-10-26 04:52:07 +0000
commit64d9a00a9934cd06401f4b9ec2e14950a4423a87 (patch)
tree99f8a9f96407f1420e36a37f02a000346dc6ca81 /libs/nixio/src/fs.c
parent2181825db596a12d23f56fa8fbfebd94f99b13c4 (diff)
nixio: store stats and other number information as integer, which works better when lua number support is downgraded from double to float
Diffstat (limited to 'libs/nixio/src/fs.c')
-rw-r--r--libs/nixio/src/fs.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/libs/nixio/src/fs.c b/libs/nixio/src/fs.c
index 6ebfbaa421..e21623b858 100644
--- a/libs/nixio/src/fs.c
+++ b/libs/nixio/src/fs.c
@@ -83,7 +83,7 @@ int nixio__check_mode(lua_State *L, int idx, int def) {
if (i == 9) { /* successfully parsed */
return mode;
}
- } else if (lua_isnumber(L, idx)) {
+ } else if (lua_isinteger(L, idx)) {
int decmode = lua_tointeger(L, idx);
int s = (decmode % 10000) / 1000;
int u = (decmode % 1000) / 100;
@@ -257,14 +257,14 @@ static int nixio_utimes(lua_State *L) {
if (lua_gettop(L) < 2 || (lua_isnoneornil(L, 2) && lua_isnoneornil(L, 3))) {
return nixio__pstatus(L, !utimes(path, NULL));
} else {
- double atime = luaL_checknumber(L, 2);
- double mtime = luaL_optnumber(L, 3, atime);
+ double atime = luaL_checkinteger(L, 2);
+ double mtime = luaL_optinteger(L, 3, atime);
struct timeval times[2];
times[0].tv_sec = atime;
- times[0].tv_usec = (long)((atime - (int64_t)atime) * 1000000);
+ times[0].tv_usec = 0;
times[1].tv_sec = mtime;
- times[1].tv_usec = (long)((mtime - (int64_t)mtime) * 1000000);
+ times[1].tv_usec = 0;
return nixio__pstatus(L, !utimes(path, times));
}
@@ -317,7 +317,7 @@ int nixio__push_stat(lua_State *L, nixio_stat_t *buf) {
lua_pushinteger(L, buf->st_rdev);
lua_setfield(L, -2, "rdev");
- lua_pushnumber(L, buf->st_size);
+ lua_pushinteger(L, buf->st_size);
lua_setfield(L, -2, "size");
lua_pushinteger(L, buf->st_atime);
@@ -469,37 +469,37 @@ static int nixio_glob(lua_State *L) {
static int nixio__push_statvfs(lua_State *L, struct statvfs *buf) {
lua_createtable(L, 0, 12);
- lua_pushnumber(L, buf->f_bavail);
+ lua_pushinteger(L, buf->f_bavail);
lua_setfield(L, -2, "bavail");
- lua_pushnumber(L, buf->f_bfree);
+ lua_pushinteger(L, buf->f_bfree);
lua_setfield(L, -2, "bfree");
- lua_pushnumber(L, buf->f_blocks);
+ lua_pushinteger(L, buf->f_blocks);
lua_setfield(L, -2, "blocks");
- lua_pushnumber(L, buf->f_bsize);
+ lua_pushinteger(L, buf->f_bsize);
lua_setfield(L, -2, "bsize");
- lua_pushnumber(L, buf->f_frsize);
+ lua_pushinteger(L, buf->f_frsize);
lua_setfield(L, -2, "frsize");
- lua_pushnumber(L, buf->f_favail);
+ lua_pushinteger(L, buf->f_favail);
lua_setfield(L, -2, "favail");
- lua_pushnumber(L, buf->f_ffree);
+ lua_pushinteger(L, buf->f_ffree);
lua_setfield(L, -2, "ffree");
- lua_pushnumber(L, buf->f_files);
+ lua_pushinteger(L, buf->f_files);
lua_setfield(L, -2, "files");
- lua_pushnumber(L, buf->f_flag);
+ lua_pushinteger(L, buf->f_flag);
lua_setfield(L, -2, "flag");
- lua_pushnumber(L, buf->f_fsid);
+ lua_pushinteger(L, buf->f_fsid);
lua_setfield(L, -2, "fsid");
- lua_pushnumber(L, buf->f_namemax);
+ lua_pushinteger(L, buf->f_namemax);
lua_setfield(L, -2, "namemax");
return 1;