]> git.ipfire.org Git - thirdparty/libbsd.git/commitdiff
Deprecate fgetwln()
authorGuillem Jover <guillem@hadrons.org>
Mon, 21 May 2018 01:15:59 +0000 (03:15 +0200)
committerGuillem Jover <guillem@hadrons.org>
Mon, 21 May 2018 02:48:32 +0000 (04:48 +0200)
This function has the same problems as fgetln() which is already marked
as deprecated.

man/libbsd.7
src/fgetwln.c

index 0521f937fe31bd2c8a6e84367efcb3ea6305b29f..7d58c1962a79a9ba73a1059c532b72843b637929 100644 (file)
@@ -1,6 +1,6 @@
 .\" libbsd man page
 .\"
-.\" Copyright © 2017 Gullem Jover <guillem@hadrons.org>
+.\" Copyright © 2017-2018 Gullem Jover <guillem@hadrons.org>
 .\"
 .\" Redistribution and use in source and binary forms, with or without
 .\" modification, are permitted provided that the following conditions
@@ -24,7 +24,7 @@
 .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 .\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd May 31 2017
+.Dd May 21 2018
 .Dt LIBBSD 7
 .Os
 .Sh NAME
@@ -143,6 +143,17 @@ Use
 .Fn getline 3
 instead, which is available in many systems and required by
 .St -p1003.1-2008 .
+.It Fn fgetwln
+Unportable, requires assistance from the stdio layer.
+An implementation has to choose between leaking buffers or being reentrant
+for a limited amount of streams (this implementation chose the latter with
+a limit of 32).
+Use
+.Fn fgetwc 3
+instead, which is available in many systems and required by
+.St -isoC-99
+and
+.St -p1003.1-2001 .
 .It Fn funopen
 Unportable, requires assistance from the stdio layer or some hook framework.
 On GNU systems the
index aa3f927b48c7d64381137fe97155b5ec134a41d2..112765599a5c47d660c67e7d8d39e4d263660589 100644 (file)
@@ -30,6 +30,8 @@
 #include <stdio.h>
 #include <wchar.h>
 
+#include "local-link.h"
+
 struct filewbuf {
        FILE *fp;
        wchar_t *wbuf;
@@ -85,3 +87,6 @@ fgetwln(FILE *stream, size_t *lenp)
        *lenp = wused;
        return wused ? fb->wbuf : NULL;
 }
+libbsd_link_warning(fgetwln,
+                    "This function cannot be safely ported, use fgetwc(3) "
+                    "instead, as it is supported by C99 and POSIX.1-2001.")