Mercurial > hg > octave-kai > gnulib-hg
comparison lib/mkdir.c @ 12211:76cbe8b29dce
mkdir: make safe for libraries
xstrdup is too dangerous to use in a syscall replacement.
* modules/mkdir (Depends-on): Drop xalloc.
* lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
exit.
Signed-off-by: Eric Blake <ebb9@byu.net>
author | Eric Blake <ebb9@byu.net> |
---|---|
date | Thu, 29 Oct 2009 09:37:42 -0600 |
parents | 3e62859ad66f |
children | 11bc92a9e2bc |
comparison
equal
deleted
inserted
replaced
12210:441d8820b5a5 | 12211:76cbe8b29dce |
---|---|
54 char *tmp_dir; | 54 char *tmp_dir; |
55 size_t len = strlen (dir); | 55 size_t len = strlen (dir); |
56 | 56 |
57 if (len && dir[len - 1] == '/') | 57 if (len && dir[len - 1] == '/') |
58 { | 58 { |
59 tmp_dir = xstrdup (dir); | 59 tmp_dir = strdup (dir); |
60 if (!tmp_dir) | |
61 { | |
62 /* Rather than rely on strdup-posix, we set errno ourselves. */ | |
63 errno = ENOMEM; | |
64 return -1; | |
65 } | |
60 strip_trailing_slashes (tmp_dir); | 66 strip_trailing_slashes (tmp_dir); |
61 } | 67 } |
62 else | 68 else |
63 { | 69 { |
64 tmp_dir = (char *) dir; | 70 tmp_dir = (char *) dir; |