File: sprintf_generic.h

package info (click to toggle)
tcng 10b-3
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 3,644 kB
  • ctags: 2,515
  • sloc: ansic: 19,040; pascal: 4,640; yacc: 2,619; sh: 1,914; perl: 1,546; lex: 772; makefile: 756
file content (33 lines) | stat: -rw-r--r-- 934 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/*
 * sprintf_generic.h - Generic malloc'ing sprintf
 *
 * Written 2001,2002 by Werner Almesberger
 * Copyright 2001 EPFL-ICA
 * Copyright 2001,2002 Bivio Networks
 *
 * Based on Based on ../share/memutil.c:alloc_sprintf
 */


#ifndef SPRINTF_GENERIC_H
#define SPRINTF_GENERIC_H

#include <stdarg.h>


struct sprintf_ops {
    void (*first_arg)(void *dsc);	/* move pointer to first argument */
    void (*next_arg)(void *dsc);	/* advance pointer */
    int (*got_arg)(void *dsc);		/* zero at end of list */
    int (*get_sint)(void *dsc);		/* return signed integer */
    unsigned int (*get_uint)(void *dsc);/* return unsigned integer */
    double (*get_float)(void *dsc);
    const char *(*get_string)(void *dsc);
    void (*errorf)(void *dsc,const char *msg,...);
    void (*warnf)(void *dsc,const char *msg,...);
};


char *sprintf_generic(const char *fmt,const struct sprintf_ops *ops,void *dsc);

#endif /* SPRINTF_GENERIC_H */