[#7954] Doesn't build on Alpha — akira yamada / やまだあきら <akira@...>
8 messages
1999/10/02
[#7956] Re: Doesn't build on Alpha
— Shugo Maeda <shugo@...>
1999/10/02
前田@ruby-lang.org用のサーバ構築中です。
[#7968] array .{first, last, at} — Kazunori NISHI <kazunori@...>
西@九大です。
25 messages
1999/10/07
[#7969] Re: array .{first, last, at}
— nobu.nakada@...
1999/10/07
なかだです。
[#7983] Re: array .{first, last, at}
— Kazunori NISHI <kazunori@...>
1999/10/12
西@九大です。
[#7984] Re: array .{first, last, at}
— matz@... (Yukihiro Matsumoto)
1999/10/12
まつもと ゆきひろです
[#7985] [patch] Array#delete_at w/ minus value
— EGUCHI Osamu <eguchi@...>
1999/10/12
えぐち@エスアンドイーです。
[#8037] no bang method always returned unique?
— EGUCHI Osamu <eguchi@...>
1999/10/16
えぐち@エスアンドイーです。
[#8041] Re: no bang method always returned unique?
— matz@... (Yukihiro Matsumoto)
1999/10/16
まつもと ゆきひろです
[#8043] Re: no bang method always returned unique?
— EGUCHI Osamu <eguchi@...>
1999/10/17
えぐち@エスアンドイー です。
[#7991] Re: [patch] Array#delete_at w/ minus value
— matz@... (Yukihiro Matsumoto)
1999/10/13
まつもと ゆきひろです
[#7994] Re: [patch] Array#delete_at w/ minus value
— EGUCHI Osamu <eguchi@...>
1999/10/13
えぐち@エスアンドイー です。
[#7995] Re: [patch] Array#delete_at w/ minus value
— matz@... (Yukihiro Matsumoto)
1999/10/13
まつもと ゆきひろです
[#7996] Re: [patch] Array#delete_at w/ minus value
— EGUCHI Osamu <eguchi@...>
1999/10/13
えぐち@エスアンドイー です。
[#7997] Re: [patch] Array#delete_at w/ minus value
— matz@... (Yukihiro Matsumoto)
1999/10/13
まつもと ゆきひろです
[#7998] Re: [patch] Array#delete_at w/ minus value
— EGUCHI Osamu <eguchi@...>
1999/10/13
えぐち@エスアンドイー です。
[#7972] socket.c Socket::Constants SOL_TCP — WATANABE Tetsuya <tetsu@...>
渡辺哲也です。
5 messages
1999/10/10
[#7974] [CYGWIN] bug? system() and socket — Shin-ichiro Hara <sinara@...>
原です。
5 messages
1999/10/10
[#7990] socks5 — とみたまさひろ <tommy@...>
とみたです。
16 messages
1999/10/12
[#7992] Re: socks5
— matz@... (Yukihiro Matsumoto)
1999/10/13
まつもと ゆきひろです
[#8003] Re: socks5
— とみたまさひろ <tommy@...>
1999/10/13
とみたです。
[#8004] Re: socks5
— matz@... (Yukihiro Matsumoto)
1999/10/13
まつもと ゆきひろです
[#8014] Re: socks5
— とみたまさひろ <tommy@...>
1999/10/13
とみたです。
[#8026] Re: socks5
— matz@... (Yukihiro Matsumoto)
1999/10/15
まつもと ゆきひろです
[#7993] prime numbers at st.c — Kazuhiro Yoshida <moriq.kazuhiro@...>
もりきゅうです.
2 messages
1999/10/13
[#8005] signal.c in cvs — Masaki Fukushima <fukusima@...>
福嶋です。
6 messages
1999/10/13
[#8020] [PATCH] Win32API — WATANABE Hirofumi <eban@...>
わたなべです.
9 messages
1999/10/14
[#8033] rb_compile_string and rb_load_protect — Masaki Suketa <CQN02273@...>
助田です.
6 messages
1999/10/16
[#8036] Re: rb_compile_string and rb_load_protect
— matz@... (Yukihiro Matsumoto)
1999/10/16
まつもと ゆきひろです
[#8038] [patch] build on sunos4 w/ VPATH fail — EGUCHI Osamu <eguchi@...>
えぐち@エスアンドイー です。
7 messages
1999/10/16
[#8045] signal exception semantics — nobu.nakada@...
なかだです。
7 messages
1999/10/17
[#8048] non terminated string — Minero Aoki <aamine@...>
あおきです。
5 messages
1999/10/17
[#8051] error.c for latest cygwin — WATANABE Hirofumi <eban@...>
わたなべです.
11 messages
1999/10/17
[#8053] Re: error.c for latest cygwin
— matz@... (Yukihiro Matsumoto)
1999/10/18
まつもと ゆきひろです
[#8157] Re: error.c for latest cygwin
— Katsuyuki Komatsu <komatsu@...>
1999/11/01
小松です。
[#8060] Re: [ruby-list:17813] Re: Exception.html & Errno.html for ruby-man-1.4.2-jp — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです.そろそろruby-dev?
4 messages
1999/10/19
[#8078] [patch] File.lchmod and File.lchown — EGUCHI Osamu <eguchi@...>
えぐち@エスアンドイーです。
7 messages
1999/10/20
[#8080] Re: [patch] File.lchmod and File.lchown
— matz@... (Yukihiro Matsumoto)
1999/10/21
まつもと ゆきひろです
[#8081] Re: [patch] File.lchmod and File.lchown
— EGUCHI Osamu <eguchi@...>
1999/10/21
えぐち@エスアンドイー です。
[#8082] Ruby 1.4.2 with Tcl/Tk 8.2 — akira yamada / やまだあきら <akira@...>
9 messages
1999/10/21
[#8129] Re: Ruby 1.4.2 with Tcl/Tk 8.2
— akira yamada / やまだあきら <akira@...>
1999/10/28
[#8090] Re: [ruby-list:17940] Enumerable#collect — Takashi Ikeda <cercine@...>
池田孝志です。
11 messages
1999/10/22
[#8097] Re: [ruby-list:17940] Enumerable#collect
— nobu.nakada@...
1999/10/23
なかだです。
[#8098] Re: [ruby-list:17940] Enumerable#collect
— Takashi Ikeda <cercine@...>
1999/10/23
池田孝志です。
[#8100] Re: [ruby-list:17940] Enumerable#collect
— EGUCHI Osamu <eguchi@...>
1999/10/23
えぐち@エスアンドイー です。
[#8106] Re: [ruby-list:17940] Enumerable#collect
— matz@... (Yukihiro Matsumoto)
1999/10/23
まつもと ゆきひろです
[#8091] named argument? — ttate@...
立石です。
7 messages
1999/10/22
[#8108] Re: [ruby-list:17963] Re: bug? system — ttate@...
立石です。
5 messages
1999/10/23
[#8137] multiple conditional switch — kjana@... (YANAGAWA Kazuhisa)
♪昨日手紙が.... じゃなくて (^^; 今日 ruby 本が届きました.どうもあり
8 messages
1999/10/29
[#8152] Ruby 1.5 (cvs) irb, cgi.rb — Wakou Aoyama <wakou@...>
青山です。
5 messages
1999/10/30
[ruby-dev:8078] [patch] File.lchmod and File.lchown
From:
EGUCHI Osamu <eguchi@...>
Date:
1999-10-20 16:05:52 UTC
List:
ruby-dev #8078
えぐち@エスアンドイーです。
シンボリックリンクのモードと所有者を変えるメソッドを
作ってみました。
lchmod(2) と lchown(2) は、限られたOSしかサポートしていないので、
AC_CHECK_FUNCS のチェックを行うようにしました。
#4.4BSD 以外で使える環境あるのだろうか?
##一般的でないので、44bsd 拡張ライブラリの方がいいですか?
えぐち
Index: configure.in
===================================================================
RCS file: /usr/home/eguchi/cvs.netlab.co.jp//ruby/configure.in,v
retrieving revision 1.3
diff -d -u -r1.3 configure.in
--- configure.in 1999/09/01 09:48:00 1.3
+++ configure.in 1999/10/20 15:25:20
@@ -180,7 +180,8 @@
truncate chsize times utimes fcntl lockf setitimer\
setruid seteuid setreuid setrgid setegid setregid\
getpgrp setpgrp getpgid setpgid getgroups getpriority\
- dlopen sigprocmask sigaction _setjmp setsid)
+ dlopen sigprocmask sigaction _setjmp setsid \
+ lchmod lchown )
AC_STRUCT_TIMEZONE
if test "$ac_cv_func_strftime" = no; then
AC_TRY_LINK([],
Index: file.c
===================================================================
RCS file: /usr/home/eguchi/cvs.netlab.co.jp//ruby/file.c,v
retrieving revision 1.4
diff -d -u -r1.4 file.c
--- file.c 1999/10/12 04:53:33 1.4
+++ file.c 1999/10/20 15:37:12
@@ -775,7 +775,43 @@
return INT2FIX(n);
}
+#ifdef HAVE_LCHMOD
+static void
+lchmod_internal(path, mode)
+ const char *path;
+ int mode;
+{
+ if (lchmod(path, mode) == -1)
+ rb_sys_fail(path);
+}
+
static VALUE
+rb_file_s_lchmod(argc, argv)
+ int argc;
+ VALUE *argv;
+{
+ VALUE vmode;
+ VALUE rest;
+ int mode, n;
+
+ rb_scan_args(argc, argv, "1*", &vmode, &rest);
+ mode = NUM2INT(vmode);
+
+ n = apply2files(lchmod_internal, rest, mode);
+ return INT2FIX(n);
+}
+#else
+static VALUE
+rb_file_s_lchmod(argc, argv)
+ int argc;
+ VALUE *argv;
+{
+ rb_notimplement();
+ return Qnil; /* not reached */
+}
+#endif
+
+static VALUE
rb_file_chmod(obj, vmode)
VALUE obj, vmode;
{
@@ -837,7 +873,54 @@
return INT2FIX(n);
}
+#ifdef HAVE_LCHOWN
+static void
+lchown_internal(path, args)
+ const char *path;
+ struct chown_args *args;
+{
+ if (lchown(path, args->owner, args->group) < 0)
+ rb_sys_fail(path);
+}
+
+static VALUE
+rb_file_s_lchown(argc, argv)
+ int argc;
+ VALUE *argv;
+{
+ VALUE o, g, rest;
+ struct chown_args arg;
+ int n;
+
+ rb_scan_args(argc, argv, "2*", &o, &g, &rest);
+ if (NIL_P(o)) {
+ arg.owner = -1;
+ }
+ else {
+ arg.owner = NUM2INT(o);
+ }
+ if (NIL_P(g)) {
+ arg.group = -1;
+ }
+ else {
+ arg.group = NUM2INT(g);
+ }
+
+ n = apply2files(lchown_internal, rest, &arg);
+ return INT2FIX(n);
+}
+#else
static VALUE
+rb_file_s_lchown(argc, argv)
+ int argc;
+ VALUE *argv;
+{
+ rb_notimplement();
+ return Qnil; /* not reached */
+}
+#endif
+
+static VALUE
rb_file_chown(obj, owner, group)
VALUE obj, owner, group;
{
@@ -1599,6 +1682,8 @@
rb_define_singleton_method(rb_cFile, "utime", rb_file_s_utime, -1);
rb_define_singleton_method(rb_cFile, "chmod", rb_file_s_chmod, -1);
rb_define_singleton_method(rb_cFile, "chown", rb_file_s_chown, -1);
+ rb_define_singleton_method(rb_cFile, "lchmod", rb_file_s_lchmod, -1);
+ rb_define_singleton_method(rb_cFile, "lchown", rb_file_s_lchown, -1);
rb_define_singleton_method(rb_cFile, "link", rb_file_s_link, 2);
rb_define_singleton_method(rb_cFile, "symlink", rb_file_s_symlink, 2);