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;