⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vswprintf.c

📁 Axis 221 camera embedded programing interface
💻 C
字号:
/* Copyright (C) 2004       Manuel Novoa III    <mjn3@codepoet.org> * * GNU Library General Public License (LGPL) version 2 or later. * * Dedicated to Toni.  See uClibc/DEDICATION.mjn3 for details. */#include "_stdio.h"#include <stdarg.h>#include <wchar.h>#ifndef __STDIO_BUFFERS#warning Skipping vswprintf since no buffering!#else  /* __STDIO_BUFFERS */int vswprintf(wchar_t *__restrict buf, size_t size,			  const wchar_t * __restrict format, va_list arg){	FILE f;	int rv;/* 	__STDIO_STREAM_RESET_GCS(&f); */#ifdef __UCLIBC_HAS_GLIBC_CUSTOM_STREAMS__	f.__cookie = &(f.__filedes);	f.__gcs.read = NULL;	f.__gcs.write = NULL;	f.__gcs.seek = NULL;	f.__gcs.close = NULL;#endif	f.__filedes = __STDIO_STREAM_FAKE_VSWPRINTF_FILEDES;	f.__modeflags = (__FLAG_WIDE|__FLAG_WRITEONLY|__FLAG_WRITING);	f.__ungot_width[0] = 0;#ifdef __STDIO_MBSTATE	__INIT_MBSTATE(&(f.__state));#endif /* __STDIO_MBSTATE */#ifdef __UCLIBC_HAS_THREADS__	f.__user_locking = 1;		/* Set user locking. */	__stdio_init_mutex(&f.__lock);#endif	f.__nextopen = NULL;	if (size > ((SIZE_MAX - (size_t) buf)/sizeof(wchar_t))) {		size = ((SIZE_MAX - (size_t) buf)/sizeof(wchar_t));	}	f.__bufstart = (char *) buf;	f.__bufend = (char *)(buf + size);	__STDIO_STREAM_INIT_BUFREAD_BUFPOS(&f);	__STDIO_STREAM_DISABLE_GETC(&f);	__STDIO_STREAM_DISABLE_PUTC(&f);	rv = vfwprintf(&f, format, arg);	/* NOTE: Return behaviour differs from snprintf... */	if (f.__bufpos == f.__bufend) {		rv = -1;		if (size) {			f.__bufpos = (char *)(((wchar_t *) f.__bufpos) - 1);		}	}	if (size) {		*((wchar_t *) f.__bufpos) = 0;	}	return rv;}#endif /* __STDIO_BUFFERS */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -