GNU Octave
10.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
Loading...
Searching...
No Matches
dirent-wrappers.c
Go to the documentation of this file.
1
////////////////////////////////////////////////////////////////////////
2
//
3
// Copyright (C) 2016-2025 The Octave Project Developers
4
//
5
// See the file COPYRIGHT.md in the top-level directory of this
6
// distribution or <https://octave.org/copyright/>.
7
//
8
// This file is part of Octave.
9
//
10
// Octave is free software: you can redistribute it and/or modify it
11
// under the terms of the GNU General Public License as published by
12
// the Free Software Foundation, either version 3 of the License, or
13
// (at your option) any later version.
14
//
15
// Octave is distributed in the hope that it will be useful, but
16
// WITHOUT ANY WARRANTY; without even the implied warranty of
17
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
// GNU General Public License for more details.
19
//
20
// You should have received a copy of the GNU General Public License
21
// along with Octave; see the file COPYING. If not, see
22
// <https://www.gnu.org/licenses/>.
23
//
24
////////////////////////////////////////////////////////////////////////
25
26
// These functions may be provided by gnulib. We don't include gnulib
27
// headers directly in Octave's C++ source files to avoid problems that
28
// may be caused by the way that gnulib overrides standard library
29
// functions.
30
31
#if defined (HAVE_CONFIG_H)
32
# include "config.h"
33
#endif
34
35
#include <dirent.h>
36
37
#include "
dirent-wrappers.h
"
38
39
void
*
40
octave_opendir_wrapper
(
const
char
*dname)
41
{
42
return
opendir (dname);
43
}
44
45
char
*
46
octave_readdir_wrapper
(
void
*dir)
47
{
48
struct
dirent *d_ent = readdir ((DIR *) dir);
49
50
return
d_ent ? d_ent->d_name : 0;
51
}
52
53
void
54
octave_rewinddir_wrapper
(
void
*dir)
55
{
56
rewinddir ((DIR *) dir);
57
}
58
59
int
60
octave_closedir_wrapper
(
void
*dir)
61
{
62
return
closedir ((DIR *) dir);
63
}
64
65
// Define NAME_MAX, the maximum length of a single component in a
66
// filename. No such limit may exist, or may vary depending on the
67
// filesystem. This value should be avoided for creating character
68
// strings and used only to truncate given file names to this length if
69
// attempts to get info about the file fail with errno == ENAMETOOLONG.
70
71
// Most likely the system will truncate filenames if it is not POSIX,
72
// and so we can use the BSD value here.
73
74
#if ! defined (_POSIX_NAME_MAX)
75
# define _POSIX_NAME_MAX 255
76
#endif
77
78
#if ! defined (NAME_MAX)
79
# define NAME_MAX _POSIX_NAME_MAX
80
#endif
81
82
unsigned
int
83
octave_name_max_wrapper
(
void
)
84
{
85
return
NAME_MAX
;
86
}
octave_name_max_wrapper
unsigned int octave_name_max_wrapper(void)
Definition
dirent-wrappers.c:83
octave_rewinddir_wrapper
void octave_rewinddir_wrapper(void *dir)
Definition
dirent-wrappers.c:54
octave_readdir_wrapper
char * octave_readdir_wrapper(void *dir)
Definition
dirent-wrappers.c:46
octave_opendir_wrapper
void * octave_opendir_wrapper(const char *dname)
Definition
dirent-wrappers.c:40
NAME_MAX
#define NAME_MAX
Definition
dirent-wrappers.c:79
octave_closedir_wrapper
int octave_closedir_wrapper(void *dir)
Definition
dirent-wrappers.c:60
dirent-wrappers.h
liboctave
wrappers
dirent-wrappers.c
Generated on Sat Aug 2 2025 06:52:15 for GNU Octave by
1.9.8