Example #1
0
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;
}
Example #2
0
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);
}
Example #3
0
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);
}