]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
[BZ #282]
authorUlrich Drepper <drepper@redhat.com>
Fri, 23 Jul 2004 18:53:26 +0000 (18:53 +0000)
committerUlrich Drepper <drepper@redhat.com>
Fri, 23 Jul 2004 18:53:26 +0000 (18:53 +0000)
Update.
2004-07-23  Jakub Jelinek  <jakub@redhat.com>

[BZ #282]
* libio/iopopen.c (_IO_new_popen): Use _IO_init instead of
_IO_no_init.  Remove wd from struct locked_FILE.
(_IO_wproc_jumps): Remove.
Reported by Andrew Josey <a.josey@opengroup.org>.
* stdio-common/Makefile (tests): Add tst-popen.
* stdio-common/tst-popen.c: New test.

ChangeLog
libio/iopopen.c
localedata/ChangeLog
localedata/locales/ko_KR
stdio-common/Makefile
stdio-common/tst-popen.c [new file with mode: 0644]

index d46874f3e0c5bf9e444fdd33cbd98aeae0f8bb45..2dcdb0d189171cb6d3406ffb6cfd83acf8cc3a2a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2004-07-23  Jakub Jelinek  <jakub@redhat.com>
+
+       [BZ #282]
+       * libio/iopopen.c (_IO_new_popen): Use _IO_init instead of
+       _IO_no_init.  Remove wd from struct locked_FILE.
+       (_IO_wproc_jumps): Remove.
+       Reported by Andrew Josey <a.josey@opengroup.org>.
+       * stdio-common/Makefile (tests): Add tst-popen.
+       * stdio-common/tst-popen.c: New test.
+
 2004-07-23  Ulrich Drepper  <drepper@redhat.com>
 
        * posix/bits/posix1_lim.h: Fix values for _POSIX_CHILD_MAX and
index d1e0589e4df246c163c2d9814e5a4abf0b4020b9..3537eeb18269f00c0adc06e996e1ca8679a5f396 100644 (file)
@@ -106,7 +106,6 @@ struct _IO_proc_file
 typedef struct _IO_proc_file _IO_proc_file;
 
 static const struct _IO_jump_t _IO_proc_jumps;
-static const struct _IO_jump_t _IO_wproc_jumps;
 
 static struct _IO_proc_file *proc_file_chain;
 
@@ -213,7 +212,6 @@ _IO_new_popen (command, mode)
 #ifdef _IO_MTSAFE_IO
     _IO_lock_t lock;
 #endif
-    struct _IO_wide_data wd;
   } *new_f;
   _IO_FILE *fp;
 
@@ -224,7 +222,7 @@ _IO_new_popen (command, mode)
   new_f->fpx.file.file._lock = &new_f->lock;
 #endif
   fp = &new_f->fpx.file.file;
-  _IO_no_init (fp, 0, 0, &new_f->wd, &_IO_wproc_jumps);
+  INTUSE(_IO_init) (fp, 0);
   _IO_JUMPS (&new_f->fpx.file) = &_IO_proc_jumps;
   _IO_new_file_init (&new_f->fpx.file);
 #if  !_IO_UNIFIED_JUMPTABLES
@@ -309,29 +307,6 @@ static const struct _IO_jump_t _IO_proc_jumps = {
   JUMP_INIT(imbue, _IO_default_imbue)
 };
 
-static const struct _IO_jump_t _IO_wproc_jumps = {
-  JUMP_INIT_DUMMY,
-  JUMP_INIT(finish, _IO_new_file_finish),
-  JUMP_INIT(overflow, _IO_new_file_overflow),
-  JUMP_INIT(underflow, _IO_new_file_underflow),
-  JUMP_INIT(uflow, INTUSE(_IO_default_uflow)),
-  JUMP_INIT(pbackfail, INTUSE(_IO_default_pbackfail)),
-  JUMP_INIT(xsputn, _IO_new_file_xsputn),
-  JUMP_INIT(xsgetn, INTUSE(_IO_default_xsgetn)),
-  JUMP_INIT(seekoff, _IO_new_file_seekoff),
-  JUMP_INIT(seekpos, _IO_default_seekpos),
-  JUMP_INIT(setbuf, _IO_new_file_setbuf),
-  JUMP_INIT(sync, _IO_new_file_sync),
-  JUMP_INIT(doallocate, INTUSE(_IO_file_doallocate)),
-  JUMP_INIT(read, INTUSE(_IO_file_read)),
-  JUMP_INIT(write, _IO_new_file_write),
-  JUMP_INIT(seek, INTUSE(_IO_file_seek)),
-  JUMP_INIT(close, _IO_new_proc_close),
-  JUMP_INIT(stat, INTUSE(_IO_file_stat)),
-  JUMP_INIT(showmanyc, _IO_default_showmanyc),
-  JUMP_INIT(imbue, _IO_default_imbue)
-};
-
 strong_alias (_IO_new_popen, __new_popen)
 versioned_symbol (libc, _IO_new_popen, _IO_popen, GLIBC_2_1);
 versioned_symbol (libc, __new_popen, popen, GLIBC_2_1);
index 7ce3d1085899d189d63783dcfd8403968ae4825d..2f62ecf3c4083366e78d20fdda0854ec865a759d 100644 (file)
@@ -1,3 +1,9 @@
+2004-07-14  Petter Reinholdtsen  <pere@hungry.com>
+
+       * locales/kr_KO: Change month names to use latin numbers instead
+       of hangul numeric pronounciation.  Patch from Changwoo
+       Ryu.[BZ #25]
+
 2004-07-17  Petter Reinholdtsen  <pere@hungry.com>
 
        * charmaps/IBM874: Add new alias WINDOWS-874 for IBM874 [BZ #244].
index ec2815a66db6cded139ef7330ea1d660870063da..e6728decfc173a8a3ab13825c85154588e20688f 100644 (file)
@@ -1179,13 +1179,13 @@ order_start forward
 <U044E>
 <U044F>
 %%%
-% HANGUL SYLLABLES 
+% HANGUL SYLLABLES
 <UAC00>
 ..
 <UD7A3>
 %%%
 % HANJA. For the moment, Hanjas defined in KS X 1001
-% are enumerated in the order they're listed in KS X 1001. 
+% are enumerated in the order they're listed in KS X 1001.
 <U4F3D>
 <U4F73>
 <U5047>
@@ -6153,33 +6153,33 @@ abmon    "<U0020><U0031><UC6D4>";"<U0020><U0032><UC6D4>";/
          "<U0020><U0039><UC6D4>";"<U0031><U0030><UC6D4>";/
          "<U0031><U0031><UC6D4>";"<U0031><U0032><UC6D4>"
 
-mon      "<UC77C><UC6D4>";"<UC774><UC6D4>";/
-         "<UC0BC><UC6D4>";"<UC0AC><UC6D4>";/
-         "<UC624><UC6D4>";"<UC720><UC6D4>";/
-         "<UCE60><UC6D4>";"<UD314><UC6D4>";/
-         "<UAD6C><UC6D4>";"<UC2DC><UC6D4>";/
-         "<UC2ED><UC77C><UC6D4>";"<UC2ED><UC774><UC6D4>"
+mon      "<U0031><UC6D4>";"<U0032><UC6D4>";/
+         "<U0033><UC6D4>";"<U0034><UC6D4>";/
+         "<U0035><UC6D4>";"<U0036><UC6D4>";/
+         "<U0037><UC6D4>";"<U0038><UC6D4>";/
+         "<U0039><UC6D4>";"<U0031><U0030><UC6D4>";/
+         "<U0031><U0031><UC6D4>";"<U0031><U0032><UC6D4>"
 
 % Appropriate date and time representation (%c)
 % "%x (%a) %r"
 d_t_fmt "<U0025><U0078><U0020><U0028><U0025><U0061><U0029><U0020><U0025><U0072>"
 
 % Appropriate date representation (%x)
-% "%Y<NYEON> %m<WEOL> %d<IL>   
+% "%Y<NYEON> %m<WEOL> %d<IL>
 d_fmt /
 "<U0025><U0059><UB144><U0020><U0025><U006D><UC6D4><U0020><U0025><U0064><UC77C>"
 %d_fmt "<U0025><U0059><UB144><U0020><U0025><U006D><UC6D4><U0020><U0025><U0065><UC77C>"
 
 % Appropriate time representation (%X)
-%  "%H<SI> %M<BUN> %S<CHO>" 
+%  "%H<SI> %M<BUN> %S<CHO>"
 t_fmt    "<U0025><U0048><UC2DC><U0020><U0025><U004D><UBD84><U0020><U0025><U0053><UCD08>"
 
-% Strings for AM/PM (%p) 
+% Strings for AM/PM (%p)
 % "<O><JEON>";"<O><HU>"
 am_pm  "<UC624><UC804>";"<UC624><UD6C4>"
 
 % Appropriate AM/PM time representation (%r)
-%  "%p %H<SI> %M<BUN> %S<CHO>" 
+%  "%p %H<SI> %M<BUN> %S<CHO>"
 t_fmt_ampm "<U0025><U0070><U0020><U0025><U0049><UC2DC><U0020><U0025><U004D><UBD84><U0020><U0025><U0053><UCD08>"
 
 % Appropriate date representation (date(1))  "%Y. %m. %d. (%a) %H:%M:%S %Z"
@@ -6219,7 +6219,7 @@ tel_int_fmt "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025><U006C>"
 
 %    "(%A) %l"  : (areacode) local_number
 tel_dom_fmt    "<U0028><U0025><U0041><U0029><U0020><U0025><U006C>"
-%    Alternative form : 
+%    Alternative form :
 %    "%A-%l"  : areacode-local_number
 %tel_dom_fmt    "<U0025><U0041><U002D><U0020><U0025><U006C>"
 int_prefix     "<U0038><U0032>"
index 9c50b954d5da7344eecadd2ba57de4d580bd7cc2..ab573e6940f22f97ac378dd829c10030a951efb8 100644 (file)
@@ -52,7 +52,8 @@ tests := tstscanf test_rdwr test-popen tstgetln test-fseek \
         scanf1 scanf2 scanf3 scanf4 scanf5 scanf7 scanf8 scanf9 scanf10 \
         scanf11 scanf12 tst-tmpnam tst-cookie tst-obprintf tst-sscanf \
         tst-swprintf tst-fseek tst-fmemopen test-vfprintf tst-gets \
-        tst-perror tst-sprintf tst-rndseek tst-fdopen tst-fphex bug14 bug15
+        tst-perror tst-sprintf tst-rndseek tst-fdopen tst-fphex bug14 bug15 \
+        tst-popen
 
 test-srcs = tst-unbputc tst-printf
 
diff --git a/stdio-common/tst-popen.c b/stdio-common/tst-popen.c
new file mode 100644 (file)
index 0000000..980cf93
--- /dev/null
@@ -0,0 +1,72 @@
+/* Copyright (C) 2004 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Jakub Jelinek <jakub@redhat.com>, 2004.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <stdio.h>
+#include <wchar.h>
+
+static int
+do_test (void)
+{
+  FILE *f = popen ("echo test", "r");
+  int result = 0, ret;
+  char *line = NULL;
+  size_t len = 0;
+
+  if (f == NULL)
+    {
+      printf ("popen failed %m");
+      return 1;
+    }
+
+  /* POSIX says that pipe streams are byte-oriented.  */
+  if (fwide (f, 0) >= 0)
+    {
+      puts ("popen did not return byte-oriented stream");
+      result = 1;
+    }
+
+  if (getline (&line, &len, f) != 5)
+    {
+      puts ("could not read line from popen");
+      result = 1;
+    }
+  else if (strcmp (line, "test\n") != 0)
+    {
+      printf ("read \"%s\"\n", line);
+      result = 1;
+    }
+
+  if (getline (&line, &len, f) != -1)
+    {
+      puts ("second getline did not return -1");
+      result = 1;
+    }
+
+  ret = pclose (f);
+  if (ret != 0)
+    {
+      printf ("pclose returned %d\n", ret);
+      result = 1;
+    }
+
+  return result;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"