Subversion Repositories Kolibri OS

Rev

Rev 9952 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9952 Rev 9954
Line 25... Line 25...
25
int
25
int
26
_DEFUN (stat, (path, buf),
26
_DEFUN (stat, (path, buf),
27
       const char *path _AND
27
       const char *path _AND
28
       struct stat *buf)
28
       struct stat *buf)
29
{
29
{
30
 
-
 
31
    ksys_file_info_t info;
30
    ksys_file_info_t info;
32
    struct tm time;
31
    struct tm time;
Line 33... Line 32...
33
 
32
 
34
    if (_ksys_file_info(path, &info))
33
    if (_ksys_file_info(path, &info))
Line 39... Line 38...
39
 
38
 
Line 40... Line 39...
40
    memset(buf, 0, sizeof (*buf));
39
    memset(buf, 0, sizeof (*buf));
Line 41... Line 40...
41
 
40
 
42
    buf->st_size = info.size;
41
    buf->st_size = info.size;
43
 
42
 
44
    if (info.attr & 0x10)
43
    if (info.attr & (KSYS_FILE_ATTR_DIR | KSYS_FILE_ATTR_VOL_LABEL))
45
        buf->st_mode = S_IFDIR;
44
        buf->st_mode = S_IFDIR;
46
    else
45
    else
47
    {
46
    {
48
        if (info.attr & 0x07)
47
        if (info.attr & (KSYS_FILE_ATTR_SYS | KSYS_FILE_ATTR_HIDDEN | KSYS_FILE_ATTR_RO))
49
            buf->st_mode = S_IFREG|S_IRUSR|S_IXUSR;
48
            buf->st_mode = S_IFREG|S_IRUSR|S_IXUSR;