]> git.ipfire.org Git - thirdparty/gettext.git/commitdiff
Replacement for the tputs() function from libtermcap.
authorBruno Haible <bruno@clisp.org>
Sat, 23 Dec 2006 15:56:43 +0000 (15:56 +0000)
committerBruno Haible <bruno@clisp.org>
Tue, 23 Jun 2009 10:14:34 +0000 (12:14 +0200)
gnulib-local/lib/tputs.c [new file with mode: 0644]

diff --git a/gnulib-local/lib/tputs.c b/gnulib-local/lib/tputs.c
new file mode 100644 (file)
index 0000000..7bb041b
--- /dev/null
@@ -0,0 +1,43 @@
+/* Output of string from terminal descriptions.
+   Copyright (C) 2006 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+   USA.  */
+
+#include <config.h>
+
+/* Specification in termcap.h or terminfo.h.  */
+extern
+#ifdef __cplusplus
+"C"
+#endif
+void tputs (const char *cp, int affcnt, int (*outcharfun) (int));
+
+#include "c-ctype.h"
+
+void
+tputs (const char *cp, int affcnt, int (*outcharfun) (int))
+{
+  while (c_isdigit (*cp))
+    cp++;
+  if (*cp == '.')
+    {
+      cp++;
+      while (c_isdigit (*cp))
+       cp++;
+    }
+  for (; *cp != '\0'; cp++)
+    outcharfun (*cp);
+}