GRASS 8 Programmer's Manual 8.6.0dev(2026)-1878fdfec5
Loading...
Searching...
No Matches
empty.c
Go to the documentation of this file.
1/*!
2 \file lib/manage/empty.c
3
4 \brief Manage Library - Check if element is empty
5
6 SPDX-FileCopyrightText: 2001-2011 GRASS Development Team
7 SPDX-License-Identifier: GPL-2.0-or-later
8
9 \author Original author CERL
10 */
11
12/* look for at least one file in the element */
13#include <sys/types.h>
14#include <dirent.h>
15
16#include <grass/gis.h>
17
18/*!
19 \brief Check if element is empty
20
21 \param elem element name
22
23 \return 1 empty
24 \return 0 not empty
25 */
26int M__empty(char *elem)
27{
28 DIR *dirp;
29 struct dirent *dp;
30 char dir[GPATH_MAX];
31 int any;
32
33 G_file_name(dir, elem, "", G_mapset());
34
35 any = 0;
36 if ((dirp = opendir(dir)) != NULL) {
37 while (!any && (dp = readdir(dirp)) != NULL) {
38 if (dp->d_name[0] != '.')
39 any = 1;
40 }
42 }
43
44 return any == 0;
45}
#define NULL
Definition ccmath.h:32
char * G_file_name(char *, const char *, const char *, const char *)
Builds full path names to GIS data files.
Definition file_name.c:59
const char * G_mapset(void)
Get current mapset name.
Definition gis/mapset.c:31
struct DIR DIR
Definition dirent.h:18
int M__empty(char *elem)
Check if element is empty.
Definition empty.c:26
#define GPATH_MAX
Definition gis.h:196
DIR * opendir(const char *name)
Definition msvc/dirent.c:15
struct dirent * readdir(DIR *dir)
Definition msvc/dirent.c:75
int closedir(DIR *dir)
Definition msvc/dirent.c:54