annotate src/lib-fs/ostream-cmp.c @ 12782:447bce266022

Updated copyright notices to include year 2011.
author Timo Sirainen <tss@iki.fi>
date Fri, 04 Mar 2011 20:54:29 +0200
parents e3fe87b855ef
children cf77e448295c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12782
447bce266022 Updated copyright notices to include year 2011.
Timo Sirainen <tss@iki.fi>
parents: 12309
diff changeset
1 /* Copyright (c) 2010-2011 Dovecot authors, see the included COPYING file */
12309
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
2
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
3 #include "lib.h"
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
4 #include "istream.h"
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
5 #include "ostream-internal.h"
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
6 #include "ostream-cmp.h"
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
7
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
8 struct cmp_ostream {
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
9 struct ostream_private ostream;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
10
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
11 struct istream *input;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
12 struct ostream *output;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
13 bool equals;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
14 };
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
15
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
16 static void cstream_copy_error(struct cmp_ostream *cstream)
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
17 {
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
18 struct ostream *src = cstream->output;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
19 struct ostream *dest = &cstream->ostream.ostream;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
20
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
21 dest->stream_errno = src->stream_errno;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
22 dest->last_failed_errno = src->last_failed_errno;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
23 dest->overflow = src->overflow;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
24 }
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
25
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
26 static void o_stream_cmp_close(struct iostream_private *stream)
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
27 {
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
28 struct cmp_ostream *cstream = (struct cmp_ostream *)stream;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
29
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
30 if (cstream->output == NULL)
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
31 return;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
32
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
33 i_stream_unref(&cstream->input);
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
34 o_stream_flush(&cstream->ostream.ostream);
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
35 o_stream_unref(&cstream->output);
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
36 }
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
37
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
38 static int o_stream_cmp_flush(struct ostream_private *stream)
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
39 {
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
40 struct cmp_ostream *cstream = (struct cmp_ostream *)stream;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
41 int ret;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
42
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
43 ret = o_stream_flush(cstream->output);
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
44 if (ret < 0)
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
45 cstream_copy_error(cstream);
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
46 return ret;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
47 }
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
48
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
49 bool stream_cmp_block(struct istream *input,
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
50 const unsigned char *data, size_t size)
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
51 {
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
52 const unsigned char *indata;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
53 size_t insize, max;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
54
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
55 while (size > 0) {
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
56 (void)i_stream_read_data(input, &indata, &insize, size-1);
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
57 max = I_MIN(insize, size);
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
58 if (insize == 0 || memcmp(data, indata, max) != 0)
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
59 return FALSE;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
60 data += max;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
61 size -= max;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
62 i_stream_skip(input, max);
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
63 }
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
64 return TRUE;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
65 }
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
66
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
67 static ssize_t
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
68 o_stream_cmp_sendv(struct ostream_private *stream,
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
69 const struct const_iovec *iov, unsigned int iov_count)
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
70 {
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
71 struct cmp_ostream *cstream = (struct cmp_ostream *)stream;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
72 unsigned int i;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
73 ssize_t ret;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
74
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
75 if (cstream->equals) {
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
76 for (i = 0; i < iov_count; i++) {
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
77 if (!stream_cmp_block(cstream->input, iov[i].iov_base,
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
78 iov[i].iov_len)) {
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
79 cstream->equals = FALSE;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
80 break;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
81 }
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
82 }
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
83 }
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
84
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
85 if ((ret = o_stream_sendv(cstream->output, iov, iov_count)) < 0) {
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
86 cstream_copy_error(cstream);
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
87 return -1;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
88 }
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
89
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
90 stream->ostream.offset += ret;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
91 return ret;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
92 }
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
93
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
94 struct ostream *
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
95 o_stream_create_cmp(struct ostream *output, struct istream *input)
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
96 {
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
97 struct cmp_ostream *cstream;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
98
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
99 cstream = i_new(struct cmp_ostream, 1);
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
100 cstream->ostream.sendv = o_stream_cmp_sendv;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
101 cstream->ostream.flush = o_stream_cmp_flush;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
102 cstream->ostream.iostream.close = o_stream_cmp_close;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
103 cstream->input = input;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
104 cstream->output = output;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
105 cstream->equals = TRUE;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
106 i_stream_ref(input);
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
107 o_stream_ref(output);
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
108
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
109 return o_stream_create(&cstream->ostream);
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
110 }
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
111
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
112 bool o_stream_cmp_equals(struct ostream *_output)
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
113 {
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
114 struct cmp_ostream *cstream =
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
115 (struct cmp_ostream *)_output->real_stream;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
116
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
117 return cstream->equals;
e3fe87b855ef Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and SiS-queue backends.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
118 }