summaryrefslogtreecommitdiff
path: root/dir.c
AgeCommit message (Collapse)Author
2007-05-22merge -c 12210shyouhei
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_6@12329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-24Fix a trivial typo.knu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_6@11854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-20Merge trivial changes to reduce diffs from ruby_1_8.knu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_6@11798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-15* dir.c (glob_helper): Fix the function declaration.knu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_6@11755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-15* dir.c, win32/win32.c, win32/dir.h, ruby.h, intern.h: Bringknu
encoding aware globbing support in from trunk. Dir.[] and Dir.glob() can now take many patterns in an array. Minor fixes will follow. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-30* dir.c (glob_helper): get rid of possible memory leak.nobu
* win32/win32.c (cmdglob, rb_w32_cmdvector, rb_w32_opendir, rb_w32_get_environ): not to use GC before initialization. [ruby-core:09024] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-14* dir.c (has_magic): glob names contain alphabets to enable case foldnobu
search also for directories. fixed: [ruby-talk:201917] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-05-17* dir.c (sys_warning): should not call a vararg functionmatz
rb_sys_warning() indirectly. [ruby-core:07886] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-05-16* dir.c (dir_close): should not close untainted dir stream.matz
* dir.c (GetDIR): add tainted/frozen check for each dir operation. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-30* dir.c (glob_helper): do not use TRUE for djgpp.eban
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-14* dir.c (ruby_glob): glob function not using ruby exception system.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-27* dir.c (dir_each): rewinddir(3) before iteration.matz
[ruby-talk:149628] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-16fixed document system dependent (case sensitivity is 1.9 feature)ocean
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-16document improvement (backported from HEAD : Austin Ziegler's patch)ocean
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-28* dir.c, eval.c, hash.c, process.c, ruby.c: avoid warning "unusedocean
variable" [ruby-dev:26387] (patch from Kazuhiro NISHIYAMA) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-18* dir.c (glob_helper): get rid of using String. [ruby-dev:26180]nobu
* dir.c (push_braces): should skip balanced braces. * eval.c (ruby_options), win32/win32.c (NtInitialize): move argument intialization back. [ruby-dev:26180] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-11* dir.c, file.c (lstat): avoid warnings for mingw.eban
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-11* {bcc32,win32,wince}/Makefile.sub: ri data was not installedocean
into correct path. [ruby-dev:26011] * bcc32/Makefile.sub: defaulted install-nodoc. [ruby-dev:26011] * dir.c: rdoc fix. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-05* dir.c (fnmatch): removed unnecessary code. (ruby_1_8 didn't haveocean
String#clear, so [ruby-dev:24749] didn't affect it) * win32/win32.c (NtInitialize): ditto. (by numeric.c 1.101.2.14) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-21* dir.c (rb_push_glob): should work for NUL delimited patterns.matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-05* dir.c (dir_s_mkdir): win32 special processing doesn't need anyusa
longer. (backported from CVS HEAD) * win32/win32.[ch] (rb_w32_mkdir): new function. POSIX.1 compatible interface. (backported from CVS HEAD) * win32/win32.[ch] (rb_w32_rmdir): new function. (backported from CVS HEAD) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-18* dir.c (dir_open_dir): new function. [ruby-dev:25242]matz
* hash.c (Init_Hash): remove custom "hash" and "eql?". * lib/set.rb (Set::eql): wrong definition. [ruby-dev:25207] * object.c (rb_obj_id_obsolete): warn always. * eval.c (rb_enable_super): ditto. * lib/set.rb (Set#==): [ruby-dev:25206] * lib/pstore.rb (PStore#transaction): Use the empty content when a file is not found. [ruby-dev:24561] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-25* dir.c (push_braces): do not reuse buffer strings. [ruby-core:03806]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-22* file.c (rb_file_chown): integer conversion should be prior tomatz
GetOpenFile(). [ruby-dev:24947] * file.c (rb_file_truncate): ditto. * file.c (rb_file_s_truncate): ditto. * dir.c (dir_seek): use NUM2OFFT(). * misc/ruby-mode.el (ruby-non-block-do-re): [ruby-core:03719] * dir.c (dir_seek): should retrieve dir_data after NUM2INT(). [ruby-dev:24941] * string.c (rb_str_splice): should place index wrapping after possible modification. [ruby-dev:24940] * eval.c (error_print): nicer traceback at interrupt. [ruby-core:03774] * string.c (str_gsub): internal buffer should not be listed by ObjectSpace.each_object() by String#gsub. [ruby-dev:24931] * lib/cgi/session.rb (CGI::Session::FileStore::initialize): raise exception if data corresponding to session specified from the client does not exist. * string.c (str_gsub): internal buffer should not be listed by ObjectSpace.each_object(). [ruby-dev:24919] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-11* dir.c (rb_globi): also should call back via rb_glob_caller().nobu
[ruby-dev:24775] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-11* dir.c (push_braces): was confusing VALUE and char*.matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-11* dir.c (rb_push_glob): Dir.glob should have call its block.matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-10* dir.c (rb_glob2): do not allocate buffer from heap to avoidmatz
memory leaks. use string object for buffering instead. [ruby-dev:24738] * dir.c (join_path): ditto. * io.c (io_read): external input buffer may be modified even after rb_str_locktmp(). [ruby-dev:24735] * dir.c (fnmatch): p or s may be NULL. [ruby-dev:24749] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-19* io.c (read_all): block string buffer modification duringmatz
rb_io_fread() by freezing it temporarily. [ruby-dev:24479] * dir.c (rb_push_glob): block call at once the end of method. [ruby-dev:24487] * ext/enumerator/enumerator.c (enum_each_slice): remove rb_gc_force_recycle() to prevent potential SEGV. [ruby-dev:24499] * ext/zlib/zlib.c (zstream_expand_buffer): hide internal string buffer by clearing klass. [ruby-dev:24510] * ext/socket/socket.c (sock_s_getservbyaname): protocol string might be altered. [ruby-dev:24503] * string.c (rb_str_upto): check if return value from succ is a string. [ruby-dev:24504] * io.c (rb_io_popen): get mode string via rb_io_flags_mode() to avoid mode string modification. [ruby-dev:24454] * io.c (rb_io_getline_fast): should take delim as unsigned char to distinguish EOF and '\377'. [ruby-dev:24460] * io.c (rb_io_getline): add check for RS modification. [ruby-dev:24461] * enum.c (enum_sort_by): use qsort() directly instead using rb_iterate(). [ruby-dev:24462] * enum.c (enum_each_with_index): remove rb_gc_force_recycle() to prevent access to recycled object (via continuation for example). [ruby-dev:24463] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-21* array.c (rb_ary_uniq_bang): element size might change duringmatz
comparison. [ruby-dev:24298] * enum.c (enum_sort_by): do not use qsort directly. use rb_ary_sort_bang() instead. [ruby-dev:24291] * enum.c (enum_sort_by): pedantic type check added. [ruby-dev:24291] * hash.c (rb_hash_foreach_iter): check iter_lev after each iteration. [ruby-dev:24289] * array.c (rb_ary_and): element size might change during comparison. [ruby-dev:24290] * array.c (rb_ary_or): ditto. [ruby-dev:24292] * array.c (rb_ary_equal): wrong fix. [ruby-dev:24286] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-18* array.c (rb_ary_equal): element size might change duringmatz
comparison. [ruby-dev:24254] * array.c (rb_ary_diff): ditto. [ruby-dev:24274] * array.c (rb_ary_select): ditto. [ruby-dev:24278] * array.c (rb_ary_delete): ditto. [ruby-dev:24283] * array.c (rb_ary_rindex): ditto. [ruby-dev:24275] * array.c (rb_ary_initialize): element size might change during initializing block. [ruby-dev:24284] * dir.c (dir_s_chdir): avoid memory leak and unnecessary chdir to the original directory when exception has caused in changing direcotry or within block. thanks to Johan Holmberg <holmberg@iar.se> [ruby-core:03446] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-20* dir.c: backout untested code.matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6797 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-19* dir.c (free_dir): fix memory leak. reported by yamamotomatz
madoka. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-17* dir.c (range): use NULL instead of 0.knu
* dir.c (range): get rid of a gcc 3.4 warning. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-12* dir.c (rb_glob2, rb_glob, push_globs, push_braces, rb_push_glob):ocean
fix memory leak to occur when block is interrupted in Dir.glob. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-17* dir.c (range): fix possible "\0" overrun. (in case of "\0-")ocean
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-08* dir.c (range): Cancel previous change. More discussion is needed.ocean
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-08* dir.c (range): treat incomplete '[' as ordinary character (likeocean
has_magic does). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-24* dir.c (glob_helper): '**/' should not match leading periodocean
unless File::FNM_DOTMATCH is set. (like '*/') git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-16* dir.c (rb_glob, rb_globi): add const.ocean
* ruby.h: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-09* dir.c (fnmatch):ocean
File.fnmatch('*?', 'a') should return true. [ruby-dev:22815] File.fnmatch('\[1\]' , '[1]') should return true. [ruby-dev:22819] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-19Document Class and Dirdave
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-18* dir.c (fnmatch): unlike find_dirsep(), rb_path_next() nevernobu
return NULL. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-15commit missnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-15* dir.c (check_dirname): check string safety and remove extraneousnobu
trailing directory separators. [ruby-dev:22279] * file.c: extern rb_path_next, rb_path_skip_prefix, rb_path_last_separator, rb_path_end. * intern.h: prototypes for rb_path_next, rb_path_skip_prefix, rb_path_last_separator, rb_path_end. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5191 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-22* gc.c (Init_stack): stack region is far smaller than usual ifmatz
pthread is used. * marshal.c (w_extended): singleton methods should not be checked when dumping via marshal_dump() or _dump(). [ruby-talk:85909] * file.c (getcwdofdrv): avoid using getcwd() directly, use my_getcwd() instead. * merged NeXT, OpenStep, Rhapsody ports patch from Eric Sunshine <sunshine@sunshineco.com>. [ruby-core:01596] * marshal.c (w_object): LINK check earlier than anything else, i.e. do not dump TYPE_IVAR for already dumped objects. (ruby-bugs PR#1220) * eval.c (rb_eval): call "inherited" only when a new class is generated; not on reopening. * eval.c (eval): prepend error position in evaluating string to * configure.in: revived NextStep, OpenStep, and Rhapsody ports which had become unbuildable; enhanced --enable-fat-binary option so that it accepts a list of desired architectures (rather than assuming a fixed list), or defaults to a platform-appropriate list if user does not provide an explicit list; made the default list of architectures for MAB (fat binary) more comprehensive; now uses -fno-common even when building the interpreter (in addition to using it for extensions), thus allowing the interpreter to be embedded into a plugin module of an external project (in addition to allowing embedding directly into an application); added checks for <netinet/in_systm.h> (needed by `socket' extension) and getcwd(); now ensures that -I/usr/local/include is employed when extensions' extconf.rb scripts invoke have_header() since extension checks on NextStep and OpenStep will fail without it if the desired resource resides in the /usr/local tree; fixed formatting of --help message. * Makefile.in: $(LIBRUBY_A) rule now deletes the archive before invoking $(AR) since `ar' on Apple/NeXT can not "update" MAB archives (see configure's --enable-fat-binary option); added rule for new missing/getcwd.c. * defines.h: fixed endian handling during MAB build (see configure's --enable-fat-binary option) to ensure that all portions of the project see the correct WORDS_BIGENDIAN value (some extension modules were getting the wrong endian setting); added missing constants GETPGRP_VOID, WNOHANG, WUNTRACED, X_OK, and type pid_t for NextStep and OpenStep; removed unnecessary and problematic HAVE_SYS_WAIT_H define in NeXT section. * dir.c: do not allow NAMLEN() macro to trust dirent::d_namlen on NextStep since, on some installations, this value always resolves uselessly to zero. * dln.c: added error reporting to NextStep extension loader since the previous behavior of failing silently was not useful; now ensures that NSLINKMODULE_OPTION_BINDNOW compatibility constant is defined for OpenStep and Rhapsody; no longer includes <mach-o/dyld.h> twice on Rhapsody since this header lacks multiple-include protection, which resulted in "redefinition" compilation errors. * main.c: also create hard reference to objc_msgSend() on NeXT platforms (in addition to Apple platforms). * lib/mkmf.rb: now exports XCFLAGS from configure script to extension makefiles so that extensions can be built MAB (see configure's --enable-fat-binary option); also utilize XCFLAGS in cc_command() (but not cpp_command() because MAB flags are incompatible with direct invocation of `cpp'). * ext/curses/extconf.rb: now additionally checks for presence of these curses functions which are not present on NextStep or Openstep: bkgd(), bkgdset(), color(), curs(), getbkgd(), init(), scrl(), set(), setscrreg(), wattroff(), wattron(), wattrset(), wbkgd(), wbkgdset(), wscrl(), wsetscrreg() * ext/curses/curses.c: added appropriate #ifdef's for additional set of curses functions now checked by extconf.rb; fixed curses_bkgd() and window_bkgd() to correctly return boolean result rather than numeric result; fixed window_getbkgd() to correctly signal an error by returning nil rather than -1. * ext/etc/etc.c: setup_passwd() and setup_group() now check for null pointers before invoking rb_tainted_str_new2() upon fields extracted from `struct passwd' and `struct group' since null pointers in some fields are common on NextStep/OpenStep (especially so for the `pw_comment' field) and rb_tainted_str_new2() throws an exception when it receives a null pointer. * ext/pty/pty.c: include "util.h" for strdup()/ruby_strdup() for platforms such as NextStep and OpenStep which lack strdup(). * ext/socket/getaddrinfo.c: cast first argument of getservbyname(), gethostbyaddr(), and gethostbyname() from (const char*) to non-const (char*) for older platforms such as NextStep and OpenStep. * ext/socket/socket.c: include "util.h" for strdup()/ruby_strdup() for platforms such as NextStep and OpenStep which lack strdup(); include <netinet/in_systm.h> if present for NextStep and OpenStep; cast first argument of gethostbyaddr() and getservbyname() from (const char*) to non-const (char*) for older platforms. * ext/syslog/syslog.c: include "util.h" for strdup()/ruby_strdup() for platforms such as NextStep and OpenStep which lack strdup(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-18* dir.c (glob_helper): preserve raw order for **.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-23* dir.c (find_dirsep): get rid of warnings.nobu
* eval.c (error_print): temporary value might be disposed by GC. * hash.c (env_has_value, env_index): should not increment NULL. * io.c (io_read, rb_io_sysread): not read when length is 0. * io.c (rb_io_reopen): ensure initialized IO. * io.c (rb_io_init_copy): sychronize file pointer. * io.c (rb_io_s_pipe): make exception proof. * string.c (rb_str_rindex_m): Fixnum 0 matched end of string. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-19* dir.c (push_braces): do not push_braces() unless rbrace is found.matz
(ruby-bugs-ja:PR#469) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-25* io.c (rb_io_initialize): should check rb_secure(4).matz
* dir.c (dir_s_getwd): should check rb_secure(4). * object.c (rb_obj_infect): function version of OBJ_INFECT(). * eval.c (rb_secure_update): new function to check object update. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e