chiark
/
gitweb
/
~mdw
/
disorder
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge tag 'branchpoint-5.1' into release
[disorder]
/
lib
/
fprintf.c
diff --git
a/lib/fprintf.c
b/lib/fprintf.c
index 812a93131894498a16eb80e37ba375b18a375e5a..3227f12f38fd3f5af07de8b255d424257613d3dd 100644
(file)
--- a/
lib/fprintf.c
+++ b/
lib/fprintf.c
@@
-1,6
+1,6
@@
/*
* This file is part of DisOrder
/*
* This file is part of DisOrder
- * Copyright (C) 2004, 2007
, 2008
Richard Kettlewell
+ * Copyright (C) 2004, 2007
-2009
Richard Kettlewell
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@
-15,6
+15,9
@@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+/** @file lib/fprintf.c
+ * @brief UTF-8 workalike for fprintf() and vfprintf()
+ */
#include "common.h"
#include "common.h"
@@
-23,11
+26,27
@@
#include "printf.h"
#include "sink.h"
#include "printf.h"
#include "sink.h"
+#include "mem.h"
+/** @brief vfprintf() workalike that always accepts UTF-8
+ * @param fp Stream to write to
+ * @param fmt Format string
+ * @param ap Format arguments
+ * @return -1 on error or bytes written on success
+ */
int byte_vfprintf(FILE *fp, const char *fmt, va_list ap) {
int byte_vfprintf(FILE *fp, const char *fmt, va_list ap) {
- return byte_vsinkprintf(sink_stdio(0, fp), fmt, ap);
+ struct sink *s = sink_stdio(0, fp);
+ int rc = byte_vsinkprintf(s, fmt, ap);
+ xfree(s);
+ return rc;
}
}
+/** @brief fprintf() workalike that always accepts UTF-8
+ * @param fp Stream to write to
+ * @param fmt Format string
+ * @param ... Format arguments
+ * @return -1 on error or bytes written on success
+ */
int byte_fprintf(FILE *fp, const char *fmt, ...) {
int n;
va_list ap;
int byte_fprintf(FILE *fp, const char *fmt, ...) {
int n;
va_list ap;