]> git.gag.com Git - fw/sdcc/commitdiff
* device/lib/sprintf.c: forgot to add this file before previous commit
authormaartenbrock <maartenbrock@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Wed, 1 Sep 2004 18:31:27 +0000 (18:31 +0000)
committermaartenbrock <maartenbrock@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Wed, 1 Sep 2004 18:31:27 +0000 (18:31 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3469 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
device/lib/sprintf.c [new file with mode: 0644]

index 1c547f984319897b84e5d09b69da34ce154931f6..ac8553ce6d3b7fb1c519e274335312a067c5635a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2004-09-01 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/lib/sprintf.c: forgot to add this file before previous commit
+
 2004-09-01 Vangelis Rokas <vrokas AT otenet.gr>
 
        * src/pic16/gen.c (genPackBits): added operand right in function
diff --git a/device/lib/sprintf.c b/device/lib/sprintf.c
new file mode 100644 (file)
index 0000000..7232f8e
--- /dev/null
@@ -0,0 +1,54 @@
+/*-------------------------------------------------------------------------
+  sprintf.c - formatted output conversion
+
+             Written By - Martijn van Balen aed@iae.nl (1999)
+             Refactored by - Maarten Brock (2004)
+
+   This 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.
+
+   This 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 this library; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+   In other words, you are welcome to use, share and improve this program.
+   You are forbidden to forbid anyone else to use, share and improve
+   what you give them.   Help stamp out software-hoarding!
+-------------------------------------------------------------------------*/
+
+#include <stdarg.h>
+#include <stdio.h>
+
+static void put_char_to_string( char c, void* p ) _REENTRANT
+{
+  char **buf = (char **)p;
+  *(*buf)++ = c;
+}
+
+int vsprintf (char *buf, const char *format, va_list ap)
+{
+  int i;
+  i = _print_format( put_char_to_string, &buf, format, ap );
+  *buf = 0;
+  return i;
+}
+
+int sprintf (char *buf, const char *format, ...)
+{
+  va_list arg;
+  int i;
+
+  va_start (arg, format);
+  i = _print_format( put_char_to_string, &buf, format, arg );
+  *buf = 0;
+  va_end (arg);
+
+  return i;
+}