diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2001-11-08 06:43:14 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2001-11-08 06:43:14 +0000 |
commit | dc98adf839d0d68c4c18647a1db2fb3dc9be8cc4 (patch) | |
tree | 7f6e3c4b45359409bf57526308837f5dbbc45905 /util.c | |
parent | ab827130d3f563535abb7404230f5b5e63bf0946 (diff) |
* process.c (security): always give warning for insecure PATH.
* dir.c (my_getcwd): do not rely on MAXPATHLEN.
* file.c (rb_file_s_readlink): ditto.
* file.c (path_check_1): ditto.
* eval.c (rb_yield_0): should not call rb_f_block_given_p().
* string.c (rb_str_chomp_bang): should terminate string by NUL.
* eval.c (rb_yield_0): better error message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'util.c')
-rw-r--r-- | util.c | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -11,6 +11,7 @@ **********************************************************************/ #include <stdio.h> +#include <errno.h> #ifdef NT #include "missing/file.h" @@ -628,3 +629,17 @@ ruby_strdup(str) return tmp; } + +char * +ruby_getcwd() +{ + int size = 200; + char *buf = xmalloc(size); + + while (!getcwd(buf, size)) { + if (errno != ERANGE) rb_sys_fail(buf); + size *= 2; + buf = xrealloc(buf, size); + } + return buf; +} |