From 37c0312def0b0c1b3c4248bd8d797db15d88d772 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sun, 16 Apr 2000 09:40:02 +0000 Subject: added fdprintf() this is like fprintf() but operates on a file descriptor combined with file_load_lines() this makes it really easy to get rid of the use of fopen() in Samba. (This used to be commit bd5cd502bf52164b95d7bfc026189e04988171db) --- source3/lib/slprintf.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'source3/lib/slprintf.c') diff --git a/source3/lib/slprintf.c b/source3/lib/slprintf.c index a755bf1bc5..ed7113c865 100644 --- a/source3/lib/slprintf.c +++ b/source3/lib/slprintf.c @@ -64,3 +64,33 @@ va_dcl va_end(ap); return ret; } + + /* this is rather line fprintf, except that it works on a file descriptor + and is limited to one pstring of output */ +#ifdef HAVE_STDARG_H + int fdprintf(int fd, char *format, ...) +{ +#else + int fdprintf(va_alist) +va_dcl +{ + int fd; + char *format; +#endif + va_list ap; + int ret; + pstring str; + +#ifdef HAVE_STDARG_H + va_start(ap, format); +#else + va_start(ap); + fd = va_arg(ap,int); + format = va_arg(ap,char *); +#endif + str[0] = 0; + + ret = vslprintf(str,sizeof(str),format,ap); + va_end(ap); + return write(fd, str, strlen(str)); +} -- cgit