Mercurial > octave
annotate liboctave/wrappers/dirent-wrappers.c @ 33634:4a70f390c85e default tip @
maint: Merge stable to default.
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Tue, 28 May 2024 15:25:54 +0200 |
parents | 2e484f9f1f18 |
children |
rev | line source |
---|---|
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
1 //////////////////////////////////////////////////////////////////////// |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
2 // |
32632
2e484f9f1f18
maint: update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
31706
diff
changeset
|
3 // Copyright (C) 2016-2024 The Octave Project Developers |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
4 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
5 // See the file COPYRIGHT.md in the top-level directory of this |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
6 // distribution or <https://octave.org/copyright/>. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
7 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
8 // This file is part of Octave. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
9 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
10 // Octave is free software: you can redistribute it and/or modify it |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
11 // under the terms of the GNU General Public License as published by |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
12 // the Free Software Foundation, either version 3 of the License, or |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
13 // (at your option) any later version. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
14 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
15 // Octave is distributed in the hope that it will be useful, but |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
16 // WITHOUT ANY WARRANTY; without even the implied warranty of |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
18 // GNU General Public License for more details. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
19 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
20 // You should have received a copy of the GNU General Public License |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
21 // along with Octave; see the file COPYING. If not, see |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
22 // <https://www.gnu.org/licenses/>. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
23 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
24 //////////////////////////////////////////////////////////////////////// |
21926 | 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 } | |
21937
55f7de37b618
maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents:
21926
diff
changeset
|
58 |
21926 | 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 } |