CVSROOT: /cvsroot/wesnoth
Module name: wesnoth
Branch:
Changes by: Guillaume Melquiond <[EMAIL PROTECTED]> 05/03/26 09:06:18
Modified files:
src/serialization: binary_or_text.cpp
Log message:
Now that we are using streams, we can't afford to go back at the start
of it in case of wrong detection. So let's detect the format by just peeking
the first character.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/wesnoth/wesnoth/src/serialization/binary_or_text.cpp.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
Patches:
Index: wesnoth/src/serialization/binary_or_text.cpp
diff -u wesnoth/src/serialization/binary_or_text.cpp:1.4
wesnoth/src/serialization/binary_or_text.cpp:1.5
--- wesnoth/src/serialization/binary_or_text.cpp:1.4 Fri Mar 25 19:48:48 2005
+++ wesnoth/src/serialization/binary_or_text.cpp Sat Mar 26 09:06:17 2005
@@ -1,4 +1,4 @@
-/* $Id: binary_or_text.cpp,v 1.4 2005/03/25 19:48:48 silene Exp $ */
+/* $Id: binary_or_text.cpp,v 1.5 2005/03/26 09:06:17 silene Exp $ */
/*
Copyright (C) 2003 by David White <[EMAIL PROTECTED]>
Copyright (C) 2005 by Guillaume Melquiond <[EMAIL PROTECTED]>
@@ -21,14 +21,14 @@
bool detect_format_and_read(config &cfg, std::istream &in)
{
- try {
+ unsigned char c = in.peek();
+ if (c < 5) {
read_compressed(cfg, in);
return true;
- } catch (config::error &) {
+ } else {
+ read(cfg, in);
+ return false;
}
-
- read(cfg, in);
- return false;
}
void write_possibly_compressed(std::string const &filename, config &cfg, bool
compress)