From 87108d9ffaa3e4d4bc761453de093011e0d3398d Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Sun, 29 Oct 2000 05:47:04 +0000 Subject: 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 --- libc/sysdeps/linux/common/statfix.c | 46 +++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 libc/sysdeps/linux/common/statfix.c (limited to 'libc/sysdeps/linux/common/statfix.c') 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 + * , + * + * 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; +} + -- cgit v1.2.3