]> git.saurik.com Git - apple/libc.git/blobdiff - locale/frune.c
Libc-997.90.3.tar.gz
[apple/libc.git] / locale / frune.c
index 443d3ba6eb368edfd2c3cf42e243c11aa775cd9e..0db4f248d2c31143aecaa75f8b077afb1283859e 100644 (file)
 #if defined(LIBC_SCCS) && !defined(lint)
 static char sccsid[] = "@(#)frune.c    8.1 (Berkeley) 6/4/93";
 #endif /* LIBC_SCCS and not lint */
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD: src/lib/libc/locale/frune.c,v 1.3 2002/09/18 06:19:12 tjr Exp $");
+
+#include "xlocale_private.h"
 
 #include <limits.h>
 #include <rune.h>
 #include <stddef.h>
 #include <stdio.h>
+#include "runedepreciated.h"
 
 long
 fgetrune(fp)
@@ -51,6 +56,13 @@ fgetrune(fp)
        int c, len;
        char buf[MB_LEN_MAX];
        char const *result;
+       __darwin_rune_t invalid_rune = __current_locale()->__lc_ctype->_CurrentRuneLocale.__invalid_rune;
+       static int warn_depreciated = 1;
+
+       if (warn_depreciated) {
+               warn_depreciated = 0;
+               fprintf(stderr, __rune_depreciated_msg, "fgetrune");
+       }
 
        len = 0;
        do {
@@ -61,13 +73,13 @@ fgetrune(fp)
                }
                buf[len++] = c;
 
-               if ((r = sgetrune(buf, len, &result)) != _INVALID_RUNE)
+               if ((r = __sgetrune(buf, len, &result)) != invalid_rune)
                        return (r);
        } while (result == buf && len < MB_LEN_MAX);
 
        while (--len > 0)
                ungetc(buf[len], fp);
-       return (_INVALID_RUNE);
+       return (invalid_rune);
 }
 
 int
@@ -77,8 +89,14 @@ fungetrune(r, fp)
 {
        int len;
        char buf[MB_LEN_MAX];
+       static int warn_depreciated = 1;
 
-       len = sputrune(r, buf, MB_LEN_MAX, 0);
+       if (warn_depreciated) {
+               warn_depreciated = 0;
+               fprintf(stderr, __rune_depreciated_msg, "fungetrune");
+       }
+
+       len = __sputrune(r, buf, MB_LEN_MAX, 0);
        while (len-- > 0)
                if (ungetc(buf[len], fp) == EOF)
                        return (EOF);
@@ -92,8 +110,14 @@ fputrune(r, fp)
 {
        int i, len;
        char buf[MB_LEN_MAX];
+       static int warn_depreciated = 1;
+
+       if (warn_depreciated) {
+               warn_depreciated = 0;
+               fprintf(stderr, __rune_depreciated_msg, "fputrune");
+       }
 
-       len = sputrune(r, buf, MB_LEN_MAX, 0);
+       len = __sputrune(r, buf, MB_LEN_MAX, 0);
 
        for (i = 0; i < len; ++i)
                if (putc(buf[i], fp) == EOF)