version 1.10.2.1, 2002/10/11 14:51:52 |
version 1.11, 2002/06/30 21:59:45 |
|
|
|
|
r = xmalloc(sizeof(*r)); |
r = xmalloc(sizeof(*r)); |
|
|
if (do_readdir(cur.conn, (char *)path, &r->dir)) { |
if (do_readdir(cur.conn, (char *)path, &r->dir)) |
xfree(r); |
|
return(NULL); |
return(NULL); |
} |
|
|
|
r->offset = 0; |
r->offset = 0; |
|
|
|
|
{ |
{ |
free_sftp_dirents(od->dir); |
free_sftp_dirents(od->dir); |
xfree(od); |
xfree(od); |
|
} |
|
|
|
static void |
|
attrib_to_stat(Attrib *a, struct stat *st) |
|
{ |
|
memset(st, 0, sizeof(*st)); |
|
|
|
if (a->flags & SSH2_FILEXFER_ATTR_SIZE) |
|
st->st_size = a->size; |
|
if (a->flags & SSH2_FILEXFER_ATTR_UIDGID) { |
|
st->st_uid = a->uid; |
|
st->st_gid = a->gid; |
|
} |
|
if (a->flags & SSH2_FILEXFER_ATTR_PERMISSIONS) |
|
st->st_mode = a->perm; |
|
if (a->flags & SSH2_FILEXFER_ATTR_ACMODTIME) { |
|
st->st_atime = a->atime; |
|
st->st_mtime = a->mtime; |
|
} |
} |
} |
|
|
static int |
static int |