Exemple #1
0
void _msg(const char* type,
	  const char* file,
	  const char* func,
	  int line,
	  const char* fmt,
	  ...){
  _xprintf("%-10s %-10s %-3d %-8s ",file,func,line,type);

  {
    va_list arp;
    va_start(arp, fmt);
    xvprintf(fmt, arp);
    va_end(arp);
  }

  _xprintf("\n");
}
Exemple #2
0
void xprintf(const char *s, ...)
{
	va_list p;

	va_start(p, s);
	_xprintf(stdout, __FILE__, __LINE__, __FUNCTION__, s, p);	
	va_end(p);	
}
Exemple #3
0
void xerror(const char *s, ...)
{
	va_list p;

	va_start(p, s);
	_xprintf(stderr, __FILE__, __LINE__, __FUNCTION__, s, p);	
	va_end(p);
	
	fprintf(stderr, "Tracing: %s\n", errno ? strerror(errno) : NULL);
}
Exemple #4
0
int sprintf(char* buffer, const char* fmt, ...) {
	va_list ap;
	int ret;
	void *vbuffer = (void*)buffer;

	/* start reading arguments */
	va_start(ap, fmt);

	ret = _xprintf(_pc, (void*)&vbuffer, fmt, &ap);
	buffer[ret] = '\0';

	/* stop reading parameters */
	va_end(ap);

	return ret;
}
Exemple #5
0
int vsprintf(char* buffer, const char* fmt, va_list arg) {
	void *vbuffer = (void*)buffer;
	return _xprintf(_pc, (void*)&vbuffer, fmt, &arg);
}
Exemple #6
0
		len = f->buf_end - f->buf;
	}
	memcpy(f->buf, str, len);
	f->buf += len;
	return len;
}

int vsprintf(char * restrict buf, const char * restrict fmt, va_list args)
{
	struct sprintf_putter putter = {
		.putstr = (putstr_t*) sprintf_putstr,
		.buf = buf,
		.buf_end = buf + INT32_MAX,
	};

	int ret = _xprintf(&putter.putstr, fmt, args);
	*putter.buf = 0;
	return ret;
}

int sprintf(char * restrict buf, const char * restrict fmt, ...)
{
	int r;

	va_list args;
	va_start(args, fmt);
	r = vsprintf(buf, fmt, args);
	va_end(args);

	return r;
}