[前][次][番号順一覧][スレッド一覧]

ruby-changes:23584

From: akr <ko1@a...>
Date: Sun, 13 May 2012 23:00:29 +0900 (JST)
Subject: [ruby-changes:23584] akr:r35635 (trunk): * ext/etc/etc.c (passwd_ensure): move endpwent() call from

akr	2012-05-13 23:00:16 +0900 (Sun, 13 May 2012)

  New Revision: 35635

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=35635

  Log:
    * ext/etc/etc.c (passwd_ensure): move endpwent() call from
      passwd_iterate to close /etc/passwd on exception.
      (group_ensure): move endgrent() call from group_iterate to close
      /etc/group on exception.

  Modified files:
    trunk/ChangeLog
    trunk/ext/etc/etc.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 35634)
+++ ChangeLog	(revision 35635)
@@ -1,3 +1,10 @@
+Sun May 13 22:46:36 2012  Tanaka Akira  <akr@f...>
+
+	* ext/etc/etc.c (passwd_ensure): move endpwent() call from
+	  passwd_iterate to close /etc/passwd on exception.
+	  (group_ensure): move endgrent() call from group_iterate to close
+	  /etc/group on exception.
+
 Sun May 13 18:10:43 2012  Tadayoshi Funaba  <tadf@d...>
 
 	* ext/date/date_strftime.c: removed unused code and changed the style.
Index: ext/etc/etc.c
===================================================================
--- ext/etc/etc.c	(revision 35634)
+++ ext/etc/etc.c	(revision 35635)
@@ -174,6 +174,7 @@
 static VALUE
 passwd_ensure(void)
 {
+    endpwent();
     passwd_blocking = (int)Qfalse;
     return Qnil;
 }
@@ -187,7 +188,6 @@
     while (pw = getpwent()) {
 	rb_yield(setup_passwd(pw));
     }
-    endpwent();
     return Qnil;
 }
 
@@ -412,6 +412,7 @@
 static VALUE
 group_ensure(void)
 {
+    endgrent();
     group_blocking = (int)Qfalse;
     return Qnil;
 }
@@ -425,7 +426,6 @@
     while (pw = getgrent()) {
 	rb_yield(setup_group(pw));
     }
-    endgrent();
     return Qnil;
 }
 

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]