diff options
Diffstat (limited to 'manual/examples/mkdirent.c')
-rw-r--r-- | manual/examples/mkdirent.c | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/manual/examples/mkdirent.c b/manual/examples/mkdirent.c deleted file mode 100644 index 988e988460..0000000000 --- a/manual/examples/mkdirent.c +++ /dev/null @@ -1,42 +0,0 @@ -/* Example for creating a struct dirent object for use with glob. - Copyright (C) 2016-2017 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, if not, see <http://www.gnu.org/licenses/>. -*/ - -#include <dirent.h> -#include <errno.h> -#include <stddef.h> -#include <stdlib.h> -#include <string.h> - -struct dirent * -mkdirent (const char *name) -{ - size_t dirent_size = offsetof (struct dirent, d_name) + 1; - size_t name_length = strlen (name); - size_t total_size = dirent_size + name_length; - if (total_size < dirent_size) - { - errno = ENOMEM; - return NULL; - } - struct dirent *result = malloc (total_size); - if (result == NULL) - return NULL; - result->d_type = DT_UNKNOWN; - result->d_ino = 1; /* Do not skip this entry. */ - memcpy (result->d_name, name, name_length + 1); - return result; -} |