chiark / gitweb /
Source code reorganization:
[disorder] / lib / sink.c
index e904005d4c654bfb498ac9df850f29b9e4ed8fe5..925bb013c7cf74abf0146d1846d815fa5b05f9ec 100644 (file)
  * @brief Abstract output sink type
  */
 
-#include <config.h>
-#include "types.h"
+#include "common.h"
 
-#include <stdio.h>
 #include <stdarg.h>
-#include <string.h>
 #include <errno.h>
 
 #include "mem.h"
@@ -147,6 +144,22 @@ struct sink *sink_discard(void) {
   return s;
 }
 
+/* error sink **************************************************************/
+
+static int sink_error_write(struct sink attribute((unused)) *s,
+                           const void attribute((unused)) *buffer,
+                           int attribute((unused)) nbytes) {
+  return -1;
+}
+
+/** @brief Return a sink which discards all output */
+struct sink *sink_error(void) {
+  struct sink *s = xmalloc(sizeof *s);
+
+  s->write = sink_error_write;
+  return s;
+}
+
 /*
 Local Variables:
 c-basic-offset:2