vsprintf.c (1e98f88776fc606df245a382685b1ac634a81389) | vsprintf.c (1b0181df2f46ef73a41ea8c9b7026718f8eec3a1) |
---|---|
1/*- 2 * Copyright (c) 1990, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Chris Torek. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 30 unchanged lines hidden (view full) --- 39#include <stdio.h> 40#include <limits.h> 41#include "local.h" 42 43int 44vsprintf(char * __restrict str, const char * __restrict fmt, __va_list ap) 45{ 46 int ret; | 1/*- 2 * Copyright (c) 1990, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Chris Torek. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 30 unchanged lines hidden (view full) --- 39#include <stdio.h> 40#include <limits.h> 41#include "local.h" 42 43int 44vsprintf(char * __restrict str, const char * __restrict fmt, __va_list ap) 45{ 46 int ret; |
47 FILE f; | 47 FILE f = FAKE_FILE; |
48 | 48 |
49 f._file = -1; | |
50 f._flags = __SWR | __SSTR; 51 f._bf._base = f._p = (unsigned char *)str; 52 f._bf._size = f._w = INT_MAX; | 49 f._flags = __SWR | __SSTR; 50 f._bf._base = f._p = (unsigned char *)str; 51 f._bf._size = f._w = INT_MAX; |
53 f._orientation = 0; 54 memset(&f._mbstate, 0, sizeof(mbstate_t)); | |
55 ret = __vfprintf(&f, fmt, ap); 56 *f._p = 0; 57 return (ret); 58} | 52 ret = __vfprintf(&f, fmt, ap); 53 *f._p = 0; 54 return (ret); 55} |