If we get an EOF trying to read a uint or a time value, throw an exception.
[beagle.git] / Util / TeeTextWriter.cs
blobd382eecb2ccb6c63e439c7104ba1f24572f2de7f
1 //
2 // TeeTextWriter.cs
3 //
4 // Copyright (C) 2005 Novell, Inc.
5 //
7 //
8 // Permission is hereby granted, free of charge, to any person obtaining a copy
9 // of this software and associated documentation files (the "Software"), to deal
10 // in the Software without restriction, including without limitation the rights
11 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 // copies of the Software, and to permit persons to whom the Software is
13 // furnished to do so, subject to the following conditions:
15 // The above copyright notice and this permission notice shall be included in all
16 // copies or substantial portions of the Software.
18 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24 // SOFTWARE.
27 using System;
28 using System.IO;
29 using System.Text;
31 namespace Beagle.Util {
33 public class TeeTextWriter : TextWriter {
35 TextWriter a, b;
37 public TeeTextWriter (TextWriter a, TextWriter b)
39 this.a = a;
40 this.b = b;
43 // If a.Encoding != b.Encoding, bad things will almost
44 // certainly happen. Try not to take it personally.
45 public override Encoding Encoding { get { return a.Encoding; } }
47 public override void Close ()
49 a.Close ();
50 b.Close ();
53 public override void Flush ()
55 a.Flush ();
56 b.Flush ();
59 override public void Write (char value)
61 a.Write (value);
62 b.Write (value);