about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--libio/Versions2
-rw-r--r--manual/stdio.texi59
3 files changed, 7 insertions, 60 deletions
diff --git a/ChangeLog b/ChangeLog
index 57c4bbe3fe..88bca8ad79 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-10-26  Roland McGrath  <roland@hack.frob.com>
+
+	* libio/Versions (GLIBC_2.0): Remove open_obstack_stream, which
+	doesn't exist.
+	* manual/stdio.texi (Obstack Streams): Node removed.
+
 2011-10-26  Andreas Schwab  <schwab@redhat.com>
 
 	* sysdeps/ieee754/flt-32/e_j0f.c: Fix use of math_force_eval.
diff --git a/libio/Versions b/libio/Versions
index e7a96daca5..8df89d2150 100644
--- a/libio/Versions
+++ b/libio/Versions
@@ -58,7 +58,7 @@ libc {
     gets;
 
     # o*
-    open_memstream; open_obstack_stream; obstack_printf; obstack_vprintf;
+    open_memstream; obstack_printf; obstack_vprintf;
 
     # p*
     pclose; popen; putc; putc_locked; putc_unlocked; putchar;
diff --git a/manual/stdio.texi b/manual/stdio.texi
index 94f9126c94..588c15bf7d 100644
--- a/manual/stdio.texi
+++ b/manual/stdio.texi
@@ -4780,7 +4780,6 @@ provide equivalent functionality.
 @menu
 * String Streams::              Streams that get data from or put data in
 				 a string or memory buffer.
-* Obstack Streams::		Streams that store data in an obstack.
 * Custom Streams::              Defining your own streams with an arbitrary
 				 input data source and/or output data sink.
 @end menu
@@ -4884,64 +4883,6 @@ buf = `hello', size = 5
 buf = `hello, world', size = 12
 @end smallexample
 
-@c @group  Invalid outside @example.
-@node Obstack Streams
-@subsection Obstack Streams
-
-You can open an output stream that puts it data in an obstack.
-@xref{Obstacks}.
-
-@comment stdio.h
-@comment GNU
-@deftypefun {FILE *} open_obstack_stream (struct obstack *@var{obstack})
-This function opens a stream for writing data into the obstack @var{obstack}.
-This starts an object in the obstack and makes it grow as data is
-written (@pxref{Growing Objects}).
-@c @end group  Doubly invalid because not nested right.
-
-Calling @code{fflush} on this stream updates the current size of the
-object to match the amount of data that has been written.  After a call
-to @code{fflush}, you can examine the object temporarily.
-
-You can move the file position of an obstack stream with @code{fseek} or
-@code{fseeko} (@pxref{File Positioning}).  Moving the file position past
-the end of the data written fills the intervening space with zeros.
-
-To make the object permanent, update the obstack with @code{fflush}, and
-then use @code{obstack_finish} to finalize the object and get its address.
-The following write to the stream starts a new object in the obstack,
-and later writes add to that object until you do another @code{fflush}
-and @code{obstack_finish}.
-
-But how do you find out how long the object is?  You can get the length
-in bytes by calling @code{obstack_object_size} (@pxref{Status of an
-Obstack}), or you can null-terminate the object like this:
-
-@smallexample
-obstack_1grow (@var{obstack}, 0);
-@end smallexample
-
-Whichever one you do, you must do it @emph{before} calling
-@code{obstack_finish}.  (You can do both if you wish.)
-@end deftypefun
-
-Here is a sample function that uses @code{open_obstack_stream}:
-
-@smallexample
-char *
-make_message_string (const char *a, int b)
-@{
-  FILE *stream = open_obstack_stream (&message_obstack);
-  output_task (stream);
-  fprintf (stream, ": ");
-  fprintf (stream, a, b);
-  fprintf (stream, "\n");
-  fclose (stream);
-  obstack_1grow (&message_obstack, 0);
-  return obstack_finish (&message_obstack);
-@}
-@end smallexample
-
 @node Custom Streams
 @subsection Programming Your Own Custom Streams
 @cindex custom streams