Loading...
stdio/FreeBSD/vfprintf.c Libc-1725.40.4 Libc-1534.40.2
--- Libc/Libc-1725.40.4/stdio/FreeBSD/vfprintf.c
+++ Libc/Libc-1534.40.2/stdio/FreeBSD/vfprintf.c
@@ -80,7 +80,6 @@
 #include "local.h"
 #include "fvwrite.h"
 #include "printflocal.h"
-#include "libc_hooks_impl.h"
 
 static int	__sprint(FILE *, locale_t, struct __suio *);
 #if 0
@@ -292,8 +291,6 @@
 {
 	int ret;
 
-	libc_hooks_will_write(fp, sizeof(*fp));
-
 	FLOCKFILE(fp);
 	ret = __xvprintf(XPRINTF_PLAIN, NULL, fp, loc, fmt0, ap);
 	FUNLOCKFILE(fp);
@@ -305,8 +302,6 @@
 
 {
 	int ret;
-
-	libc_hooks_will_write(fp, sizeof(*fp));
 
 	FLOCKFILE(fp);
 	ret = __xvprintf(XPRINTF_PLAIN, NULL, fp, __current_locale(), fmt0, ap);
@@ -889,23 +884,22 @@
 			}
 #endif // ALLOW_DYNAMIC_PERCENT_N
 
-			if (flags & LLONGINT) {
-				LIBC_HOOKS_WRITE_SIMPLE_TYPE(ptr, long long, ret);
-			} else if (flags & SIZET) {
-				LIBC_HOOKS_WRITE_SIMPLE_TYPE(ptr, ssize_t, ret);
-			} else if (flags & PTRDIFFT) {
-				LIBC_HOOKS_WRITE_SIMPLE_TYPE(ptr, ptrdiff_t, ret);
-			} else if (flags & INTMAXT) {
-				LIBC_HOOKS_WRITE_SIMPLE_TYPE(ptr, intmax_t, ret);
-			} else if (flags & LONGINT) {
-				LIBC_HOOKS_WRITE_SIMPLE_TYPE(ptr, long, ret);
-			} else if (flags & SHORTINT) {
-				LIBC_HOOKS_WRITE_SIMPLE_TYPE(ptr, short, ret);
-			} else if (flags & CHARINT) {
-				LIBC_HOOKS_WRITE_SIMPLE_TYPE(ptr, signed char, ret);
-			} else {
-				LIBC_HOOKS_WRITE_SIMPLE_TYPE(ptr, int, ret);
-			}
+			if (flags & LLONGINT)
+				*(long long *)ptr = ret;
+			else if (flags & SIZET)
+				*(ssize_t *)ptr = (ssize_t)ret;
+			else if (flags & PTRDIFFT)
+				*(ptrdiff_t *)ptr = ret;
+			else if (flags & INTMAXT)
+				*(intmax_t *)ptr = ret;
+			else if (flags & LONGINT)
+				*(long *)ptr = ret;
+			else if (flags & SHORTINT)
+				*(short *)ptr = ret;
+			else if (flags & CHARINT)
+				*(signed char *)ptr = ret;
+			else
+				*(int *)ptr = ret;
 			continue;	/* no output */
 		}
 		case 'O':
@@ -969,7 +963,6 @@
 					ret = EOF;
 					goto error;
 				}
-				libc_hooks_will_read(cp, size);
 			}
 			sign = '\0';
 			break;