diff options
author | Eric Andersen <andersen@codepoet.org> | 2000-10-29 05:47:04 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2000-10-29 05:47:04 +0000 |
commit | 87108d9ffaa3e4d4bc761453de093011e0d3398d (patch) | |
tree | 646702040ce8122cfcb857693671809ba35cacbc /libc/sysdeps/linux/common/statfix.c | |
parent | 4e1ec6cac528de017d8e8696e0442904847bdc54 (diff) |
Fix up stat so we translate from kernel stat to libc stat. Try to fix
up a few little things with dir entry reading. busybox now compiles,
and seems to basically work... :-)
-Erik
Diffstat (limited to 'libc/sysdeps/linux/common/statfix.c')
-rw-r--r-- | libc/sysdeps/linux/common/statfix.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/common/statfix.c b/libc/sysdeps/linux/common/statfix.c new file mode 100644 index 000000000..37ecef895 --- /dev/null +++ b/libc/sysdeps/linux/common/statfix.c @@ -0,0 +1,46 @@ +/* vi: set sw=4 ts=4: */ +/* + * Convert from the kernel's version of struct stat to libc's version + * + * Copyright (C) 2000 by Lineo, inc. Written by Erik Andersen + * <andersen@lineo.com>, <andersee@debian.org> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Library General Public License as published by + * the Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + +/* Pull in whatever this particular arch's kernel thinks the kernel version of + * struct stat should look like. It turn out that each arch has a different + * opinion on the subject. Then pull in libc's version of struct stat... */ +#include "statfix.h" + +/* Convert from the kernel's version of struct stat to libc's version */ +void statfix(struct libc_stat *libcstat, struct kernel_stat *kstat) +{ + libcstat->st_dev = kstat->st_dev; + libcstat->st_ino = kstat->st_ino; + libcstat->st_mode = kstat->st_mode; + libcstat->st_nlink = kstat->st_nlink; + libcstat->st_uid = kstat->st_uid; + libcstat->st_gid = kstat->st_gid; + libcstat->st_rdev = kstat->st_rdev; + libcstat->st_size = kstat->st_size; + libcstat->st_blksize = kstat->st_blksize; + libcstat->st_blocks = kstat->st_blocks; + libcstat->st_atime = kstat->st_atime; + libcstat->st_mtime = kstat->st_mtime; + libcstat->st_ctime = kstat->st_ctime; +} + |