X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=support%2Fsys-stat.c;h=952a46363dbb687052d045404063c46142ac4cd7;hb=a5e40870bd3bb18e1681afed6c71e7edfdb80534;hp=8ee2dabf9b930724be9f20aacd875eee82b68d50;hpb=9869ae24b88761ab261c4311e24f7383b4af3f02;p=mono.git diff --git a/support/sys-stat.c b/support/sys-stat.c index 8ee2dabf9b9..952a46363db 100644 --- a/support/sys-stat.c +++ b/support/sys-stat.c @@ -4,7 +4,7 @@ * Authors: * Jonathan Pryor (jonpryor@vt.edu) * - * Copyright (C) 2004 Jonathan Pryor + * Copyright (C) 2004-2006 Jonathan Pryor */ #ifndef _GNU_SOURCE @@ -22,47 +22,6 @@ G_BEGIN_DECLS -struct Mono_Posix_Stat { - /* dev_t */ mph_dev_t st_dev; /* device */ - /* ino_t */ mph_ino_t st_ino; /* inode */ - /* mode_t */ guint32 st_mode; /* protection */ - guint32 _padding_; /* structure padding */ - /* nlink_t */ mph_nlink_t st_nlink; /* number of hard links */ - /* uid_t */ mph_uid_t st_uid; /* user ID of owner */ - /* gid_t */ mph_gid_t st_gid; /* group ID of owner */ - /* dev_t */ mph_dev_t st_rdev; /* device type (if inode device) */ - /* off_t */ mph_off_t st_size; /* total size, in bytes */ - /* blksize_t */ mph_blksize_t st_blksize; /* blocksize for filesystem I/O */ - /* blkcnt_t */ mph_blkcnt_t st_blocks; /* number of blocks allocated */ - - /* st_atime, st_mtime, and st_ctime are macros (!), so use a slightly - * different name to appease CPP */ - - /* time_t */ mph_time_t st_atime_; /* time of last access */ - /* time_t */ mph_time_t st_mtime_; /* time of last modification */ - /* time_t */ mph_time_t st_ctime_; /* time of last status change */ -}; - -static int -copy_stat (struct Mono_Posix_Stat *to, struct stat *from) -{ - if (Mono_Posix_ToFilePermissions (from->st_mode, &to->st_mode) == -1) - return -1; - to->st_dev = from->st_dev; - to->st_ino = from->st_ino; - to->st_nlink = from->st_nlink; - to->st_uid = from->st_uid; - to->st_gid = from->st_gid; - to->st_rdev = from->st_rdev; - to->st_size = from->st_size; - to->st_blksize = from->st_blksize; - to->st_blocks = from->st_blocks; - to->st_atime_ = from->st_atime; - to->st_mtime_ = from->st_mtime; - to->st_ctime_ = from->st_ctime; - return 0; -} - gint32 Mono_Posix_Syscall_stat (const char *file_name, struct Mono_Posix_Stat *buf) { @@ -74,7 +33,7 @@ Mono_Posix_Syscall_stat (const char *file_name, struct Mono_Posix_Stat *buf) return -1; } r = stat (file_name, &_buf); - if (r != -1 && copy_stat (buf, &_buf) == -1) + if (r != -1 && Mono_Posix_ToStat (&_buf, buf) == -1) r = -1; return r; } @@ -90,7 +49,7 @@ Mono_Posix_Syscall_fstat (int filedes, struct Mono_Posix_Stat *buf) return -1; } r = fstat (filedes, &_buf); - if (r != -1 && copy_stat (buf, &_buf) == -1) + if (r != -1 && Mono_Posix_ToStat (&_buf, buf) == -1) r = -1; return r; } @@ -106,7 +65,7 @@ Mono_Posix_Syscall_lstat (const char *file_name, struct Mono_Posix_Stat *buf) return -1; } r = lstat (file_name, &_buf); - if (r != -1 && copy_stat (buf, &_buf) == -1) + if (r != -1 && Mono_Posix_ToStat (&_buf, buf) == -1) r = -1; return r; }