aboutsummaryrefslogtreecommitdiffstats
path: root/ext/-test-/dir/fileno.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/-test-/dir/fileno.c')
-rw-r--r--ext/-test-/dir/fileno.c109
1 files changed, 0 insertions, 109 deletions
diff --git a/ext/-test-/dir/fileno.c b/ext/-test-/dir/fileno.c
deleted file mode 100644
index 4872942973..0000000000
--- a/ext/-test-/dir/fileno.c
+++ /dev/null
@@ -1,109 +0,0 @@
-#include "ruby.h"
-#include "ruby/encoding.h"
-#include "internal.h"
-
-#if defined HAVE_DIRENT_H && !defined _WIN32
-# include <dirent.h>
-#elif defined HAVE_DIRECT_H && !defined _WIN32
-# include <direct.h>
-#else
-# define dirent direct
-# if HAVE_SYS_NDIR_H
-# include <sys/ndir.h>
-# endif
-# if HAVE_SYS_DIR_H
-# include <sys/dir.h>
-# endif
-# if HAVE_NDIR_H
-# include <ndir.h>
-# endif
-# ifdef _WIN32
-# include "win32/dir.h"
-# endif
-#endif
-#if defined(__native_client__) && defined(NACL_NEWLIB)
-# include "nacl/dirent.h"
-# include "nacl/stat.h"
-#endif
-
-struct dir_data {
- DIR *dir;
- VALUE path;
- rb_encoding *enc;
-};
-
-#ifdef HAVE_DIRFD
-static void *
-rb_check_typeddata0(VALUE obj /*, const rb_data_type_t *data_type */)
-{
- const char *etype;
- /* static const char mesg[] = "wrong argument type %s (expected %s)"; */
-
- if (!RB_TYPE_P(obj, T_DATA)) {
- etype = rb_builtin_class_name(obj);
- /* rb_raise(rb_eTypeError, mesg, etype, data_type->wrap_struct_name); */
- rb_raise(rb_eTypeError, "wrong argument type %s", etype);
- }
-/*
- if (!RTYPEDDATA_P(obj)) {
- etype = rb_obj_classname(obj);
- rb_raise(rb_eTypeError, mesg, etype, data_type->wrap_struct_name);
- }
- else if (!rb_typeddata_inherited_p(RTYPEDDATA_TYPE(obj), data_type)) {
- etype = RTYPEDDATA_TYPE(obj)->wrap_struct_name;
- rb_raise(rb_eTypeError, mesg, etype, data_type->wrap_struct_name);
- }
-*/
- return DATA_PTR(obj);
-}
-
-static void
-dir_closed(void)
-{
- rb_raise(rb_eIOError, "closed directory");
-}
-
-static struct dir_data *
-dir_check(VALUE dir)
-{
- struct dir_data *dirp;
- rb_check_frozen(dir);
- dirp = rb_check_typeddata0(dir /*, &dir_data_type*/);
- if (!dirp->dir) dir_closed();
- return dirp;
-}
-#endif
-
-#define GetDIR(obj, dirp) ((dirp) = dir_check(obj))
-
-#ifdef HAVE_DIRFD
-/*
- * call-seq:
- * dir.fileno -> integer
- *
- * Returns the file descriptor used in <em>dir</em>.
- *
- * d = Dir.new("..")
- * d.fileno #=> 8
- */
-static VALUE
-dir_fileno(VALUE dir)
-{
- struct dir_data *dirp;
- int fd;
-
- GetDIR(dir, dirp);
- fd = dirfd(dirp->dir);
- if (fd == -1)
- rb_sys_fail("dirfd");
- return INT2NUM(fd);
-}
-#else
-#define dir_fileno rb_f_notimplement
-#endif
-
-void
-Init_fileno(VALUE klass)
-{
- rb_define_method(rb_cDir,"fileno", dir_fileno, 0);
-}