summaryrefslogtreecommitdiffstats
path: root/libc/sysdeps/linux/common/xstatconv.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/common/xstatconv.c')
-rw-r--r--libc/sysdeps/linux/common/xstatconv.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/libc/sysdeps/linux/common/xstatconv.c b/libc/sysdeps/linux/common/xstatconv.c
index 58e05c437..abcb496b8 100644
--- a/libc/sysdeps/linux/common/xstatconv.c
+++ b/libc/sysdeps/linux/common/xstatconv.c
@@ -15,18 +15,22 @@
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA.
-
+ 02111-1307 USA.
+
Modified for uClibc by Erik Andersen <andersen@codepoet.org>
*/
-#include "syscalls.h"
+#include <sys/syscall.h>
#include <sys/stat.h>
+#include <string.h>
#include "xstatconv.h"
+/* Experimentally off - libc_hidden_proto(memset) */
+
void attribute_hidden __xstat_conv(struct kernel_stat *kbuf, struct stat *buf)
{
/* Convert to current kernel version of `struct stat'. */
+ memset(buf, 0x00, sizeof(*buf));
buf->st_dev = kbuf->st_dev;
buf->st_ino = kbuf->st_ino;
buf->st_mode = kbuf->st_mode;
@@ -52,6 +56,7 @@ void attribute_hidden __xstat_conv(struct kernel_stat *kbuf, struct stat *buf)
void attribute_hidden __xstat64_conv(struct kernel_stat64 *kbuf, struct stat64 *buf)
{
/* Convert to current kernel version of `struct stat64'. */
+ memset(buf, 0x00, sizeof(*buf));
buf->st_dev = kbuf->st_dev;
buf->st_ino = kbuf->st_ino;
# ifdef _HAVE_STAT64___ST_INO