ELinks 0.18.0
snprintf.c File Reference
#include <ctype.h>
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include "elinks.h"
#include "util/snprintf.h"
Include dependency graph for snprintf.c:

Macros

#define LDOUBLE   double
#define LLONG   long
#define DP_S_DEFAULT   0
#define DP_S_FLAGS   1
#define DP_S_MIN   2
#define DP_S_DOT   3
#define DP_S_MAX   4
#define DP_S_MOD   5
#define DP_S_CONV   6
#define DP_S_DONE   7
#define DP_F_MINUS   (1 << 0)
#define DP_F_PLUS   (1 << 1)
#define DP_F_SPACE   (1 << 2)
#define DP_F_NUM   (1 << 3)
#define DP_F_ZERO   (1 << 4)
#define DP_F_UP   (1 << 5)
#define DP_F_UNSIGNED   (1 << 6)
#define DP_C_SHORT   1
#define DP_C_LONG   2
#define DP_C_LDOUBLE   3
#define DP_C_LLONG   4
#define char_to_int(p)

Functions

static size_t dopr (char *buffer, size_t maxlen, const char *format, va_list args_in)
static void fmtstr (char *buffer, size_t *currlen, size_t maxlen, char *value, int flags, int min, int max)
static void fmtint (char *buffer, size_t *currlen, size_t maxlen, long value, int base, int min, int max, int flags)
static void fmtfp (char *buffer, size_t *currlen, size_t maxlen, LDOUBLE fvalue, int min, int max, int flags)
static void dopr_outch (char *buffer, size_t *currlen, size_t maxlen, char c)
static LDOUBLE my_abs (LDOUBLE value)
static LDOUBLE my_pow10 (int exp)
static LLONG my_round (LDOUBLE value)
static double my_modf (double x0, double *iptr)
int elinks_vsnprintf (char *str, size_t count, const char *fmt, va_list args)
int elinks_snprintf (char *str, size_t count, const char *fmt,...)
int elinks_vasprintf (char **ptr, const char *format, va_list ap)
int elinks_asprintf (char **ptr, const char *format,...)
char * asprintfa (const char *fmt,...)

Variables

static char hexnumbers [] = "0123456789abcdef"
static char HEXnumbers [] = "0123456789ABCDEF"

Macro Definition Documentation

◆ char_to_int

#define char_to_int ( p)
Value:
((p)- '0')

◆ DP_C_LDOUBLE

#define DP_C_LDOUBLE   3

◆ DP_C_LLONG

#define DP_C_LLONG   4

◆ DP_C_LONG

#define DP_C_LONG   2

◆ DP_C_SHORT

#define DP_C_SHORT   1

◆ DP_F_MINUS

#define DP_F_MINUS   (1 << 0)

◆ DP_F_NUM

#define DP_F_NUM   (1 << 3)

◆ DP_F_PLUS

#define DP_F_PLUS   (1 << 1)

◆ DP_F_SPACE

#define DP_F_SPACE   (1 << 2)

◆ DP_F_UNSIGNED

#define DP_F_UNSIGNED   (1 << 6)

◆ DP_F_UP

#define DP_F_UP   (1 << 5)

◆ DP_F_ZERO

#define DP_F_ZERO   (1 << 4)

◆ DP_S_CONV

#define DP_S_CONV   6

◆ DP_S_DEFAULT

#define DP_S_DEFAULT   0

◆ DP_S_DONE

#define DP_S_DONE   7

◆ DP_S_DOT

#define DP_S_DOT   3

◆ DP_S_FLAGS

#define DP_S_FLAGS   1

◆ DP_S_MAX

#define DP_S_MAX   4

◆ DP_S_MIN

#define DP_S_MIN   2

◆ DP_S_MOD

#define DP_S_MOD   5

◆ LDOUBLE

#define LDOUBLE   double

◆ LLONG

#define LLONG   long

Function Documentation

◆ asprintfa()

char * asprintfa ( const char * fmt,
... )

◆ dopr()

size_t dopr ( char * buffer,
size_t maxlen,
const char * format,
va_list args_in )
static

◆ dopr_outch()

void dopr_outch ( char * buffer,
size_t * currlen,
size_t maxlen,
char c )
inlinestatic

◆ elinks_asprintf()

int elinks_asprintf ( char ** ptr,
const char * format,
... )

◆ elinks_snprintf()

int elinks_snprintf ( char * str,
size_t count,
const char * fmt,
... )

◆ elinks_vasprintf()

int elinks_vasprintf ( char ** ptr,
const char * format,
va_list ap )

◆ elinks_vsnprintf()

int elinks_vsnprintf ( char * str,
size_t count,
const char * fmt,
va_list args )

◆ fmtfp()

void fmtfp ( char * buffer,
size_t * currlen,
size_t maxlen,
LDOUBLE fvalue,
int min,
int max,
int flags )
static

◆ fmtint()

void fmtint ( char * buffer,
size_t * currlen,
size_t maxlen,
long value,
int base,
int min,
int max,
int flags )
static

◆ fmtstr()

void fmtstr ( char * buffer,
size_t * currlen,
size_t maxlen,
char * value,
int flags,
int min,
int max )
static

◆ my_abs()

LDOUBLE my_abs ( LDOUBLE value)
static

◆ my_modf()

double my_modf ( double x0,
double * iptr )
static

◆ my_pow10()

LDOUBLE my_pow10 ( int exp)
static

◆ my_round()

LLONG my_round ( LDOUBLE value)
static

Variable Documentation

◆ HEXnumbers

char HEXnumbers[] = "0123456789ABCDEF"
static

◆ hexnumbers

char hexnumbers[] = "0123456789abcdef"
static