[#26468] $SAFE=1 の open-uri で redirect 時にエラー — Kazuhiko <kazuhiko@...>

かずひこです。

40 messages 2005/07/07
[#26469] Re: $SAFE=1 の open-uri で redirect 時にエラー — Tanaka Akira <akr@...17n.org> 2005/07/07

In article <m3zmsylimn.wl%kazuhiko@fdiary.net>,

[#26470] Re: $SAFE=1 の open-uri で redirect 時にエラー — Yukihiro Matsumoto <matz@...> 2005/07/07

まつもと ゆきひろです

[#26471] Re: $SAFE=1 の open-uri で redirect 時にエラー — Tanaka Akira <akr@...17n.org> 2005/07/07

In article <1120754832.716261.15867.nullmailer@x31.priv.netlab.jp>,

[#26472] Re: $SAFE=1 の open-uri で redirect 時にエラー — Yukihiro Matsumoto <matz@...> 2005/07/07

まつもと ゆきひろです

[#26475] Re: $SAFE=1 の open-uri で redirect 時にエラー — Tanaka Akira <akr@...17n.org> 2005/07/08

In article <1120762886.189058.18880.nullmailer@x31.priv.netlab.jp>,

[#26476] Re: $SAFE=1 の open-uri で redirect 時にエラー — Yukihiro Matsumoto <matz@...> 2005/07/08

まつもと ゆきひろです

[#26479] Re: $SAFE=1 の open-uri で redirect 時にエラー — Tanaka Akira <akr@...17n.org> 2005/07/08

In article <1120810939.815280.27104.nullmailer@x31.priv.netlab.jp>,

[#26483] Re: $SAFE=1 の open-uri で redirect 時にエラー — Yukihiro Matsumoto <matz@...> 2005/07/08

まつもと ゆきひろです

[#26485] Re: $SAFE=1 の open-uri で redirect 時にエラー — Shugo Maeda <shugo@...> 2005/07/08

前田です。

[#26486] Re: $SAFE=1 の open-uri で redirect 時にエラー — Yukihiro Matsumoto <matz@...> 2005/07/08

まつもと ゆきひろです

[#26525] Re: $SAFE=1 の open-uri で redirect 時にエラー — Tanaka Akira <akr@...17n.org> 2005/07/12

In article <42CF1918.5000603@ruby-lang.org>,

[#26493] can't handle \c\ — KIMURA Koichi <kbk@...>

木村です。

18 messages 2005/07/09
[#26496] Re: can't handle \c\ — "URABE Shyouhei aka. mput" <root@...> 2005/07/10

卜部でございます。

[#26574] SystemCallError.new("abc") => #<SystemCallError: unknown error - ab> — Tanaka Akira <akr@...17n.org>

次のように、メッセージの最後が切れます。

28 messages 2005/07/19
[#26576] Re: SystemCallError.new("abc") => #<SystemCallError: unknown error - ab> — Yukihiro Matsumoto <matz@...> 2005/07/19

まつもと ゆきひろです

[#26578] Re: SystemCallError.new("abc") => #<SystemCallError: unknown error - ab> — nobu@... 2005/07/19

なかだです。

[#26579] Re: SystemCallError.new("abc") => #<SystemCallError: unknown error - ab> — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/07/19

山本です。

[#26580] Re: SystemCallError.new("abc") => #<SystemCallError: unknown error - ab> — Yukihiro Matsumoto <matz@...> 2005/07/19

まつもと ゆきひろです

[#26586] Re: SystemCallError.new("abc") => #<SystemCallError: unknown error - ab> — nobuyoshi nakada <nobuyoshi.nakada@...> 2005/07/20

なかだです。

[#26587] Re: SystemCallError.new("abc") => #<SystemCallError: unknown error - ab> — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/07/20

山本です。

[#26589] Re: SystemCallError.new("abc") => #<SystemCallError: unknown error - ab> — nobu@... 2005/07/20

なかだです。

[#26597] Re: SystemCallError.new("abc") => #<SystemCallError: unknown error - ab> — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/07/21

山本です。

[#26599] Re: SystemCallError.new("abc") => #<SystemCallError: unknown error - ab> — nobuyoshi nakada <nobuyoshi.nakada@...> 2005/07/22

なかだです。

[#26628] show information of '--enable-pthread' — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

37 messages 2005/07/28
[#26632] Re: show information of '--enable-pthread' — Yukihiro Matsumoto <matz@...> 2005/07/28

まつもと ゆきひろです

[#26634] Re: show information of '--enable-pthread' — Hidetoshi NAGAI <nagai@...> 2005/07/28

永井@知能.九工大です.

[#26635] Re: show information of '--enable-pthread' — WATANABE Hirofumi <eban@...> 2005/07/28

わたなべです。

[#26645] Re: show information of '--enable-pthread' — "U.Nakamura" <usa@...> 2005/07/29

こんにちは、なかむら(う)です。

[#26646] Re: show information of '--enable-pthread' — Hidetoshi NAGAI <nagai@...> 2005/07/29

永井@知能.九工大です.

[#26658] Re: show information of '--enable-pthread' — Hidetoshi NAGAI <nagai@...> 2005/07/31

永井@知能.九工大です.

[#26659] Re: show information of '--enable-pthread' — Takahiro Kambe <taca@...> 2005/07/31

In message <20050731.094203.74726476.nagai@ai.kyutech.ac.jp>

[#26662] Re: show information of '--enable-pthread' — Hidetoshi NAGAI <nagai@...> 2005/07/31

永井@知能.九工大です.

[#26663] Re: show information of '--enable-pthread' — "U.Nakamura" <usa@...> 2005/07/31

こんにちは、なかむら(う)です。

[#26669] Re: show information of '--enable-pthread' — Hidetoshi NAGAI <nagai@...> 2005/08/01

永井@知能.九工大です.

[ruby-dev:26579] Re: SystemCallError.new("abc") => #<SystemCallError: unknown error - ab>

From: "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
Date: 2005-07-19 15:37:58 UTC
List: ruby-dev #26579
山本です。

error.c は、StringValue する前に RSTRING(str)->len しているのでまずいと
思います。ところで、こんな感じのものを作って使いまわすのはどうでしょうか。
size_t len が必要なくなるのが嬉しい気がします。

# バッファの長さが足りないときにも vsnprintf が必ず '\0' で終端
# してくれるのかよく知らないのですが・・・

Index: error.c
===================================================================
RCS file: /src/ruby/error.c,v
retrieving revision 1.113
diff -u -w -b -p -r1.113 error.c
--- error.c	19 Jul 2005 14:57:47 -0000	1.113
+++ error.c	19 Jul 2005 15:26:05 -0000
@@ -956,12 +956,9 @@ syserr_initialize(argc, argv, self)
     else err = "unknown error";
     if (!NIL_P(mesg)) {
 	VALUE str = mesg;
-	size_t len = strlen(err)+RSTRING(str)->len+3;
 	StringValue(str);
-	mesg = rb_str_new(0, len);
-	snprintf(RSTRING(mesg)->ptr, len+1, "%s - %.*s", err,
+	mesg = rb_snprintf(strlen(err)+RSTRING(str)->len+3, "%s - %.*s", err,
 		(int)RSTRING(str)->len, RSTRING(str)->ptr);
-	rb_str_resize(mesg, strlen(RSTRING(mesg)->ptr));
     }
     else {
 	mesg = rb_str_new2(err);
Index: intern.h
===================================================================
RCS file: /src/ruby/intern.h,v
retrieving revision 1.172
diff -u -w -b -p -r1.172 intern.h
--- intern.h	14 Jul 2005 15:11:52 -0000	1.172
+++ intern.h	19 Jul 2005 15:28:36 -0000
@@ -456,6 +456,7 @@ VALUE rb_str_new2 _((const char*));
 VALUE rb_str_new3 _((VALUE));
 VALUE rb_str_new4 _((VALUE));
 VALUE rb_str_new5 _((VALUE, const char*, long));
+VALUE rb_snprintf __((size_t, const char*, ...));
 VALUE rb_tainted_str_new _((const char*, long));
 VALUE rb_tainted_str_new2 _((const char*));
 VALUE rb_str_buf_new _((long));
Index: string.c
===================================================================
RCS file: /src/ruby/string.c,v
retrieving revision 1.230
diff -u -w -b -p -r1.230 string.c
--- string.c	4 Mar 2005 06:47:41 -0000	1.230
+++ string.c	19 Jul 2005 13:58:48 -0000
@@ -25,6 +25,14 @@
 #include <unistd.h>
 #endif
 
+#ifdef HAVE_STDARG_PROTOTYPES
+#include <stdarg.h>
+#define va_init_list(a,b) va_start(a,b)
+#else
+#include <varargs.h>
+#define va_init_list(a,b) va_start(a)
+#endif
+
 VALUE rb_cString;
 
 #define STR_TMPLOCK FL_USER1
@@ -215,6 +223,27 @@ rb_str_new5(obj, ptr, len)
     return str_new(rb_obj_class(obj), ptr, len);
 }
 
+VALUE
+#ifdef HAVE_STDARG_PROTOTYPES
+rb_snprintf(size_t size, const char *fmt, ...)
+#else
+rb_snprintf(size, fmt)
+    size_t size;
+    const char *fmt;
+    va_dcl
+#endif
+{
+    va_list args;
+    VALUE str = rb_str_new(0, size);
+
+    va_init_list(args, fmt);
+    vsnprintf(RSTRING(str)->ptr, size+1, fmt, args);
+    va_end(args);
+
+    RSTRING(str)->len = strlen(RSTRING(str)->ptr);
+    return str;
+}
+
 #define STR_BUF_MIN_SIZE 128
 
 VALUE

In This Thread