source: buchla-68k/iolib/sprintf.c@ 6262b5c

Last change on this file since 6262b5c was 6262b5c, checked in by Thomas Lopatic <thomas@…>, 7 years ago

Added include files for global functions and variables.

  • Property mode set to 100644
File size: 1.1 KB
RevLine 
[f40a309]1/*
2 =============================================================================
3 sprintf.c -- sprintf function
4 Version 2 -- 1987-06-11 -- D.N. Lynx Crowe
5 =============================================================================
6*/
7
[6262b5c]8#include "all.h"
[f40a309]9
[7258c6a]10extern int32_t dofmt_(int16_t (*putsub)(), int8_t *format, va_list args);
[f40a309]11
[7258c6a]12static int8_t *buff;
13 static int16_t spsub(int8_t c);
[f40a309]14
15/*
16 =============================================================================
17 sprintf(str, fmt, args) -- format args into str according to fmt
18 =============================================================================
19*/
20
[7258c6a]21int32_t sprintf(int8_t *str, int8_t *fmt, ...)
[f40a309]22{
[7258c6a]23 register int32_t count;
[f40a309]24 va_list aptr;
25
26 buff = str;
[bfc0072]27 va_start(aptr, fmt);
[f40a309]28 count = dofmt_(spsub, fmt, aptr);
[bfc0072]29 va_end(aptr);
[f40a309]30 *buff = '\0';
31 return(count);
32}
33
34/*
35 =============================================================================
36 spsub(c) - put c into the output string
37 =============================================================================
38*/
39
[7258c6a]40static int16_t spsub(int8_t c)
[f40a309]41{
42 return((*buff++ = c) & 0xFF);
43}
[6262b5c]44
Note: See TracBrowser for help on using the repository browser.