acl_int64 acl_scan_dir_size(const char *pathname, int recursive, int *nfile, int *ndir) { const char *myname = "acl_scan_dir_size"; ACL_SCAN_DIR *scan; acl_int64 size; if (pathname == NULL || *pathname == 0) { acl_msg_error("%s(%d), %s: pathname null", __FILE__, __LINE__, myname); return -1; } scan = acl_scan_dir_open(pathname, recursive); if (scan == NULL) { acl_msg_error("%s(%d), %s: dir_open error: %s, path: %s", __FILE__, __LINE__, myname, acl_last_serror(), pathname); return -1; } size = acl_scan_dir_size2(scan, nfile, ndir); acl_scan_dir_close(scan); return size; }
acl_uint64 scan_dir::all_size(int* nfiles /* = NULL */, int* ndirs /* = NULL */) const { if (scan_ == NULL) return 0; return acl_scan_dir_size2(scan_, nfiles, ndirs); }
acl_int64 acl_scan_dir_size(const char *pathname, int recursive, int *nfile, int *ndir) { ACL_SCAN_DIR *scan; acl_int64 size; if (pathname == NULL || *pathname == 0) return (-1); scan = acl_scan_dir_open(pathname, recursive); if (scan == NULL) return (-1); size = acl_scan_dir_size2(scan); if (nfile) *nfile = scan->nfiles; if (ndir) *ndir = scan->ndirs; acl_scan_dir_close(scan); return (size); }