Commit 8f7e12f0 by Paolo Carlini Committed by Paolo Carlini

1.cc: New.

2004-12-20  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_istream/peek/wchar_t/1.cc: New.
	* testsuite/27_io/basic_istream/peek/wchar_t/12296.cc: Likewise.
	* testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise.
	* testsuite/27_io/basic_istream/putback/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/read/wchar_t/2.cc: Likewise.
	* testsuite/27_io/basic_istream/read/wchar_t/3.cc: Likewise.
	* testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc: Likewise.
	* testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Likewise.
	* testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc: Likewise.
	* testsuite/27_io/basic_istream/seekg/wchar_t/2.cc: Likewise.
	* testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
	* testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise.
	* testsuite/27_io/basic_istream/seekg/wchar_t/
	exceptions_badbit_throw.cc: Likewise.
	* testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
	* testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: Likewise.
	* testsuite/27_io/basic_istream/sentry/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
	* testsuite/27_io/basic_istream/sentry/wchar_t/2.cc: Likewise.
	* testsuite/27_io/basic_istream/sentry/wchar_t/3.cc: Likewise.
	* testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/tellg/wchar_t/2.cc: Likewise.
	* testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
	* testsuite/27_io/basic_istream/tellg/wchar_t/
	exceptions_badbit_throw.cc: Likewise.
	* testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
	* testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: Likewise.
	* testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise.

	* testsuite/data/wistream_extractor_other-1.tst: New.
	* testsuite/data/wistream_extractor_other-1.txt: Likewise.
	* testsuite/data/wistream_extractor_other-2.tst: Likewise.
	* testsuite/data/wistream_seeks-1.tst: Likewise.
	* testsuite/data/wistream_seeks-1.txt: Likewise.
	* testsuite/data/wistream_unformatted-1.tst: Likewise.
	* testsuite/data/wistream_unformatted-1.txt: Likewise.

	* testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc:
	Use wistream_extractor_other-1.txt.

	* testsuite/27_io/basic_istream/peek/char/6414.cc: Minor clean-up.
	* testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/read/char/2.cc: Likewise.

From-SVN: r92414
parent a16da3ae
2004-12-20 Paolo Carlini <pcarlini@suse.de>
* testsuite/27_io/basic_istream/peek/wchar_t/1.cc: New.
* testsuite/27_io/basic_istream/peek/wchar_t/12296.cc: Likewise.
* testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise.
* testsuite/27_io/basic_istream/putback/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/read/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_istream/read/wchar_t/3.cc: Likewise.
* testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc: Likewise.
* testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Likewise.
* testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/
exceptions_badbit_throw.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/wchar_t/3.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/
exceptions_badbit_throw.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: Likewise.
* testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise.
* testsuite/data/wistream_extractor_other-1.tst: New.
* testsuite/data/wistream_extractor_other-1.txt: Likewise.
* testsuite/data/wistream_extractor_other-2.tst: Likewise.
* testsuite/data/wistream_seeks-1.tst: Likewise.
* testsuite/data/wistream_seeks-1.txt: Likewise.
* testsuite/data/wistream_unformatted-1.tst: Likewise.
* testsuite/data/wistream_unformatted-1.txt: Likewise.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc:
Use wistream_extractor_other-1.txt.
* testsuite/27_io/basic_istream/peek/char/6414.cc: Minor clean-up.
* testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
2004-12-19 Paolo Carlini <pcarlini@suse.de> 2004-12-19 Paolo Carlini <pcarlini@suse.de>
* testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc: New. * testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc: New.
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
void test02() void test02()
{ {
bool test __attribute__((unused)) = true; bool test __attribute__((unused)) = true;
const char name_01[] = "istream_extractor_other-1.txt"; //read const char name_01[] = "wistream_extractor_other-1.txt"; //read
const char name_02[] = "wistream_extractor_other-2.txt"; //write const char name_02[] = "wistream_extractor_other-2.txt"; //write
std::wfilebuf fbin, fbout; std::wfilebuf fbin, fbout;
......
// 2000-06-29 bkoz // 2000-06-29 bkoz
// Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation // Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the // software; you can redistribute it and/or modify it under the
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
void test04(void) void test04(void)
{ {
bool test __attribute__((unused)) = true; bool test __attribute__((unused)) = true;
std::istream::pos_type pos01, pos02, pos03, pos04, pos05, pos06; std::istream::pos_type pos01, pos02;
const char str_lit01[] = "istream_seeks-1.txt"; const char str_lit01[] = "istream_seeks-1.txt";
std::ifstream if01(str_lit01, std::ios_base::in | std::ios_base::out); std::ifstream if01(str_lit01, std::ios_base::in | std::ios_base::out);
......
// Copyright (C) 2004 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// 27.6.1.3 unformatted input functions
#include <istream>
#include <sstream>
#include <testsuite_hooks.h>
void
test01()
{
typedef std::wios::traits_type traits_type;
bool test __attribute__((unused)) = true;
const std::wstring str_01;
const std::wstring str_02(L"soul eyes: john coltrane quartet");
std::wstring strtmp;
std::wstringbuf isbuf_03(str_02, std::ios_base::in);
std::wstringbuf isbuf_04(str_02, std::ios_base::in);
std::wistream is_00(NULL);
std::wistream is_03(&isbuf_03);
std::wistream is_04(&isbuf_04);
std::ios_base::iostate state1, state2, statefail, stateeof;
statefail = std::ios_base::failbit;
stateeof = std::ios_base::eofbit;
wchar_t carray[60] = L"";
// istream& ignore(streamsize n = 1, int_type delim = traits::eof())
is_04.read(carray, 9);
VERIFY( is_04.peek() == L':' );
state1 = is_04.rdstate();
is_04.ignore();
VERIFY( is_04.gcount() == 1 );
state2 = is_04.rdstate();
VERIFY( state1 == state2 );
VERIFY( is_04.peek() == L' ' );
state1 = is_04.rdstate();
is_04.ignore(0);
VERIFY( is_04.gcount() == 0 );
state2 = is_04.rdstate();
VERIFY( state1 == state2 );
VERIFY( is_04.peek() == L' ' );
state1 = is_04.rdstate();
is_04.ignore(5, traits_type::to_int_type(' '));
VERIFY( is_04.gcount() == 1 );
state2 = is_04.rdstate();
VERIFY( state1 == state2 );
VERIFY( is_04.peek() == L'j' );
// int_type peek()
state1 = is_04.rdstate();
VERIFY( is_04.peek() == L'j' );
VERIFY( is_04.gcount() == 0 );
state2 = is_04.rdstate();
VERIFY( state1 == state2 );
is_04.ignore(30);
state1 = is_04.rdstate();
VERIFY( is_04.peek() == traits_type::eof() );
VERIFY( is_04.gcount() == 0 );
state2 = is_04.rdstate();
VERIFY( state1 != state2 );
}
int
main()
{
test01();
return 0;
}
// Copyright (C) 2004 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// 27.6.1.3 unformatted input functions
#include <sstream>
#include <testsuite_hooks.h>
// libstdc++/12296
void test01()
{
using namespace std;
bool test __attribute__((unused)) = true;
wistringstream stream;
VERIFY( stream.rdstate() == ios_base::goodbit );
wistringstream::int_type c = stream.peek();
VERIFY( c == istringstream::traits_type::eof() );
VERIFY( stream.rdstate() == ios_base::eofbit );
}
int main()
{
test01();
return 0;
}
// Copyright (C) 2004 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// 27.6.1.3 unformatted input functions
// NB: ostream has a particular "seeks" category. Adopt this for istreams too.
// @require@ %-*.tst %-*.txt
// @diff@ %-*.tst %-*.txt
#include <istream>
#include <fstream>
#include <testsuite_hooks.h>
// fstreams
void test04(void)
{
bool test __attribute__((unused)) = true;
std::wistream::pos_type pos01, pos02;
const char str_lit01[] = "wistream_seeks-1.txt";
std::wifstream if01(str_lit01, std::ios_base::in | std::ios_base::out);
// libstdc++/6414
if01.seekg(0, std::ios_base::beg);
pos01 = if01.tellg();
if01.peek();
pos02 = if01.tellg();
VERIFY( pos02 == pos01 );
}
int main()
{
test04();
return 0;
}
...@@ -27,8 +27,6 @@ ...@@ -27,8 +27,6 @@
void void
test01() test01()
{ {
typedef std::ios::traits_type traits_type;
bool test __attribute__((unused)) = true; bool test __attribute__((unused)) = true;
const std::string str_01; const std::string str_01;
const std::string str_02("soul eyes: john coltrane quartet"); const std::string str_02("soul eyes: john coltrane quartet");
...@@ -41,9 +39,7 @@ test01() ...@@ -41,9 +39,7 @@ test01()
std::istream is_00(&isbuf_05); std::istream is_00(&isbuf_05);
std::istream is_03(&isbuf_03); std::istream is_03(&isbuf_03);
std::istream is_04(&isbuf_04); std::istream is_04(&isbuf_04);
std::ios_base::iostate state1, state2, statefail, stateeof; std::ios_base::iostate state1, state2;
statefail = std::ios_base::failbit;
stateeof = std::ios_base::eofbit;
// istream& putback(char c) // istream& putback(char c)
is_04.ignore(30); is_04.ignore(30);
......
// Copyright (C) 2004 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// 27.6.1.3 unformatted input functions
#include <istream>
#include <sstream>
#include <testsuite_hooks.h>
void
test01()
{
bool test __attribute__((unused)) = true;
const std::wstring str_01;
const std::wstring str_02(L"soul eyes: john coltrane quartet");
std::wstring strtmp;
std::wstringbuf isbuf_03(str_02, std::ios_base::in);
std::wstringbuf isbuf_04(str_02, std::ios_base::in);
std::wstringbuf isbuf_05(str_02, std::ios_base::in);
std::wistream is_00(&isbuf_05);
std::wistream is_03(&isbuf_03);
std::wistream is_04(&isbuf_04);
std::ios_base::iostate state1, state2;
// istream& putback(char_type c)
is_04.ignore(30);
is_04.clear();
state1 = is_04.rdstate();
is_04.putback(L't');
VERIFY( is_04.gcount() == 0 ); // DR 60
state2 = is_04.rdstate();
VERIFY( state1 == state2 );
VERIFY( is_04.peek() == L't' );
// istream& unget()
is_04.clear();
state1 = is_04.rdstate();
is_04.unget();
VERIFY( is_04.gcount() == 0 ); // DR 60
state2 = is_04.rdstate();
VERIFY( state1 == state2 );
VERIFY( is_04.peek() == L'r' );
// int sync()
is_00.ignore(10);
int count1 = is_00.gcount();
is_00.sync();
int count2 = is_00.gcount();
VERIFY (count1 == count2 ); // DR 60
}
int
main()
{
test01();
return 0;
}
// 1999-08-11 bkoz // 1999-08-11 bkoz
// Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation // Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the // software; you can redistribute it and/or modify it under the
...@@ -28,12 +28,8 @@ ...@@ -28,12 +28,8 @@
void void
test01() test01()
{ {
typedef std::ios::traits_type traits_type;
bool test __attribute__((unused)) = true; bool test __attribute__((unused)) = true;
const std::string str_01;
const std::string str_02("soul eyes: john coltrane quartet"); const std::string str_02("soul eyes: john coltrane quartet");
std::string strtmp;
std::stringbuf isbuf_03(str_02, std::ios_base::in); std::stringbuf isbuf_03(str_02, std::ios_base::in);
std::stringbuf isbuf_04(str_02, std::ios_base::in); std::stringbuf isbuf_04(str_02, std::ios_base::in);
......
// 1999-08-11 bkoz // 1999-08-11 bkoz
// Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation // Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation
// //
// This file is part of the GNU ISO C++ Library. This library is free // This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the // software; you can redistribute it and/or modify it under the
...@@ -32,7 +32,6 @@ test04() ...@@ -32,7 +32,6 @@ test04()
bool test __attribute__((unused)) = true; bool test __attribute__((unused)) = true;
const std::string str_00("Red_Garland_Qunitet-Soul_Junction"); const std::string str_00("Red_Garland_Qunitet-Soul_Junction");
std::string strtmp;
char c_array[str_00.size() + 4]; char c_array[str_00.size() + 4];
std::stringbuf isbuf_00(str_00, std::ios_base::in); std::stringbuf isbuf_00(str_00, std::ios_base::in);
......
// Copyright (C) 2004 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// 27.6.1.3 unformatted input functions
#include <cwchar> // for wcsncmp,...
#include <istream>
#include <sstream>
#include <testsuite_hooks.h>
void
test01()
{
bool test __attribute__((unused)) = true;
const std::wstring str_02(L"soul eyes: john coltrane quartet");
std::wstringbuf isbuf_03(str_02, std::ios_base::in);
std::wstringbuf isbuf_04(str_02, std::ios_base::in);
std::wistream is_00(NULL);
std::wistream is_03(&isbuf_03);
std::wistream is_04(&isbuf_04);
std::ios_base::iostate state1, state2, statefail, stateeof;
statefail = std::ios_base::failbit;
stateeof = std::ios_base::eofbit;
// istream& read(char_type* s, streamsize n)
wchar_t carray[60] = L"";
state1 = is_04.rdstate();
is_04.read(carray, 0);
state2 = is_04.rdstate();
VERIFY( state1 == state2 );
state1 = is_04.rdstate();
is_04.read(carray, 9);
state2 = is_04.rdstate();
VERIFY( state1 == state2 );
VERIFY( !std::wcsncmp(carray, L"soul eyes", 9) );
VERIFY( is_04.peek() == L':' );
state1 = is_03.rdstate();
is_03.read(carray, 60);
state2 = is_03.rdstate();
VERIFY( state1 != state2 );
VERIFY( static_cast<bool>(state2 & stateeof) );
VERIFY( static_cast<bool>(state2 & statefail) );
VERIFY( !std::wcsncmp(carray, L"soul eyes: john coltrane quartet", 35) );
}
int
main()
{
test01();
return 0;
}
// Copyright (C) 2004 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// 27.6.1.3 unformatted input functions
#include <istream>
#include <sstream>
#include <testsuite_hooks.h>
// Jim Parsons <parsons at clearway dot com>
// http://gcc.gnu.org/ml/libstdc++/2000-q1/msg00177.html
void
test04()
{
bool test __attribute__((unused)) = true;
const std::wstring str_00(L"Red_Garland_Qunitet-Soul_Junction");
wchar_t c_array[str_00.size() + 4];
std::wstringbuf isbuf_00(str_00, std::ios_base::in);
std::wistream is_00(&isbuf_00);
std::ios_base::iostate state1, statefail, stateeof;
statefail = std::ios_base::failbit;
stateeof = std::ios_base::eofbit;
state1 = stateeof | statefail;
VERIFY( is_00.gcount() == 0 );
is_00.read(c_array, str_00.size() + 1);
VERIFY( is_00.gcount() == static_cast<std::streamsize>(str_00.size()) );
VERIFY( is_00.rdstate() == state1 );
is_00.read(c_array, str_00.size());
VERIFY( is_00.rdstate() == state1 );
}
int
main()
{
test04();
return 0;
}
// Copyright (C) 2004 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// 27.6.1.3 unformatted input functions
#include <istream>
#include <sstream>
#include <testsuite_hooks.h>
// Theodore Papadopoulo
void
test09()
{
using namespace std;
bool test __attribute__((unused)) = true;
wistringstream iss(L"Juana Briones");
wchar_t tab[13];
iss.read(tab, 13);
if (!iss)
test = false;
VERIFY( test );
}
int
main()
{
test09();
return 0;
}
// Copyright (C) 2004 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// 27.6.1.3 unformatted input functions
#include <istream>
#include <sstream>
#include <testsuite_hooks.h>
// libstdc++/6746
void test12()
{
using namespace std;
bool test __attribute__((unused)) = true;
streamsize sum = 0;
wistringstream iss(L"shamma shamma");
// test01
size_t i = iss.rdbuf()->in_avail();
VERIFY( i != 0 );
// test02
streamsize extracted;
do
{
wchar_t buf[1024];
extracted = iss.readsome(buf, sizeof(buf) / sizeof(wchar_t));
sum += extracted;
}
while (iss.good() && extracted);
VERIFY( sum != 0 );
}
int
main()
{
test12();
return 0;
}
// Copyright (C) 2004 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// The ARM simulator does not provide support for "fstat", which
// causes "in_avail" to return an incorrect value.
// { dg-do run { xfail arm*-*-elf arm*-*-eabi } }
// 27.6.1.3 unformatted input functions
// @require@ %-*.tst %-*.txt
// @diff@ %-*.tst %-*.txt
#include <istream>
#include <fstream>
#include <testsuite_hooks.h>
// libstdc++/6746
void test13()
{
using namespace std;
bool test __attribute__((unused)) = true;
streamsize sum = 0;
wifstream ifs("wistream_unformatted-1.tst");
// test01
size_t i = ifs.rdbuf()->in_avail();
VERIFY( i != 0 );
// test02
streamsize extracted;
do
{
wchar_t buf[1024];
extracted = ifs.readsome(buf, sizeof(buf) / sizeof(wchar_t));
sum += extracted;
}
while (ifs.good() && extracted);
VERIFY( sum != 0 );
}
int
main()
{
test13();
return 0;
}
// Copyright (C) 2004 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// 27.6.1.3 unformatted input functions
#include <istream>
#include <streambuf>
#include <testsuite_hooks.h>
// libstdc++/8258
class mybuf : public std::basic_streambuf<wchar_t>
{ };
void test11()
{
bool test __attribute__((unused)) = true;
using namespace std;
wchar_t arr[10];
mybuf sbuf;
basic_istream<wchar_t, char_traits<wchar_t> > istr(&sbuf);
VERIFY( istr.rdstate() == ios_base::goodbit );
VERIFY( istr.readsome(arr, 10) == 0 );
VERIFY( istr.rdstate() == ios_base::goodbit );
}
int
main()
{
test11();
return 0;
}
// Copyright (C) 2004 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// 27.6.1.3 unformatted input functions
// DR 60 -- seekg does not effect calls to gcount
#include <istream>
#include <sstream>
#include <testsuite_hooks.h>
void test01()
{
using namespace std;
bool test __attribute__((unused)) = true;
wistringstream ist(L"the lamb lies down on broadway");
wios::pos_type pos = ist.tellg();
ist.ignore(4);
int count1 = ist.gcount();
ist.seekg(pos);
int count2 = ist.gcount();
VERIFY( count1 == count2 );
ist.seekg(wios::off_type(pos), wios::beg);
count2 = ist.gcount();
VERIFY( count1 == count2 );
}
int main()
{
test01();
return 0;
}
// Copyright (C) 2004 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// 27.6.1.3 unformatted input functions
// NB: ostream has a particular "seeks" category. Adopt this for istreams too.
#include <istream>
#include <sstream>
#include <testsuite_hooks.h>
// libstdc++/8348
void test06(void)
{
using namespace std;
bool test __attribute__((unused)) = true;
wstring num1(L"555");
// seekg
{
wistringstream iss(num1);
wistream::pos_type pos1 = iss.tellg();
int asNum = 0;
iss >> asNum;
VERIFY( test = iss.eof() );
VERIFY( test = !iss.fail() );
iss.seekg(pos1);
VERIFY( test = !iss.fail() );
}
}
int main()
{
test06();
return 0;
}
// Copyright (C) 2004 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// 27.6.1.3 unformatted input functions
// NB: ostream has a particular "seeks" category. Adopt this for istreams too.
#include <istream>
#include <sstream>
#include <testsuite_hooks.h>
// libstdc++/8348
void test06(void)
{
using namespace std;
bool test __attribute__((unused)) = true;
wstring num1(L"555");
// seekg
{
wistringstream iss(num1);
wistream::pos_type pos1 = iss.tellg();
int asNum = 0;
iss >> asNum;
VERIFY( test = iss.eof() );
VERIFY( test = !iss.fail() );
iss.seekg(0, ios_base::beg);
VERIFY( test = !iss.fail() );
}
}
int main()
{
test06();
return 0;
}
// Copyright (C) 2004 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#include <istream>
#include <streambuf>
#include <sstream>
#include <testsuite_hooks.h>
#include <testsuite_io.h>
using namespace std;
void test01()
{
bool test __attribute__((unused)) = true;
__gnu_test::fail_wstreambuf bib;
wistream stream(&bib);
stream.exceptions(ios_base::badbit);
wistream::pos_type pos;
try
{
stream.seekg(pos);
VERIFY( false );
}
catch (const __gnu_test::positioning_error&)
{
// stream should set badbit and rethrow facet_error.
VERIFY( stream.bad() );
VERIFY( (stream.rdstate() & ios_base::failbit) == 0 );
VERIFY( !stream.eof() );
}
catch (...)
{
VERIFY(false);
}
}
void test02()
{
bool test __attribute__((unused)) = true;
__gnu_test::fail_wstreambuf bib;
wistream stream(&bib);
stream.exceptions(ios_base::badbit);
wistream::off_type off(5);
try
{
stream.seekg(off, ios_base::cur);
VERIFY( false );
}
catch (const __gnu_test::positioning_error&)
{
// stream should set badbit and rethrow facet_error.
VERIFY( stream.bad() );
VERIFY( (stream.rdstate() & ios_base::failbit) == 0 );
VERIFY( !stream.eof() );
}
catch (...)
{
VERIFY(false);
}
}
// libstdc++/9546
int main()
{
test01();
test02();
return 0;
}
// Copyright (C) 2004 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// 27.6.1.3 unformatted input functions
// NB: ostream has a particular "seeks" category. Adopt this for istreams too.
// @require@ %-*.tst %-*.txt
// @diff@ %-*.tst %-*.txt
#include <istream>
#include <sstream>
#include <fstream>
#include <testsuite_hooks.h>
// fstreams
void test04(void)
{
typedef std::wistream::off_type off_type;
bool test __attribute__((unused)) = true;
std::wistream::pos_type pos01, pos02, pos03, pos04, pos05, pos06;
std::ios_base::iostate state01, state02;
const char str_lit01[] = "wistream_seeks-1.txt";
const char str_lit02[] = "wistream_seeks-2.txt";
std::wifstream if01(str_lit01, std::ios_base::in | std::ios_base::out);
std::wifstream if02(str_lit01, std::ios_base::in);
std::wifstream if03(str_lit02, std::ios_base::out | std::ios_base::trunc);
VERIFY( if01.good() );
VERIFY( if02.good() );
VERIFY( if03.good() );
std::wistream is01(if01.rdbuf());
std::wistream is02(if02.rdbuf());
std::wistream is03(if03.rdbuf());
pos01 = is01.tellg();
pos02 = is01.tellg();
pos03 = is02.tellg();
pos04 = is02.tellg();
pos05 = is03.tellg();
pos06 = is03.tellg();
// istream& seekg(pos_type)
// istream& seekg(off_type, ios_base::seekdir)
// cur
// NB: see library issues list 136. It's the v3 interp that seekg
// only sets the input buffer, or else istreams with buffers that
// have _M_mode == ios_base::out will fail to have consistency
// between seekg and tellg.
state01 = is01.rdstate();
is01.seekg(10, std::ios_base::cur);
state02 = is01.rdstate();
pos01 = is01.tellg();
VERIFY( pos01 == pos02 + off_type(10) );
VERIFY( state01 == state02 );
pos02 = is01.tellg();
VERIFY( pos02 == pos01 );
state01 = is02.rdstate();
is02.seekg(10, std::ios_base::cur);
state02 = is02.rdstate();
pos03 = is02.tellg();
VERIFY( pos03 == pos04 + off_type(10) );
VERIFY( state01 == state02 );
pos04 = is02.tellg();
VERIFY( pos03 == pos04 );
state01 = is03.rdstate();
is03.seekg(10, std::ios_base::cur);
state02 = is03.rdstate();
pos05 = is03.tellg();
VERIFY( pos05 == pos06 + off_type(10) );
VERIFY( state01 == state02 );
pos06 = is03.tellg();
VERIFY( pos05 == pos06 );
// beg
state01 = is01.rdstate();
is01.seekg(20, std::ios_base::beg);
state02 = is01.rdstate();
pos01 = is01.tellg();
VERIFY( pos01 == pos02 + off_type(10) );
VERIFY( state01 == state02 );
pos02 = is01.tellg();
VERIFY( pos02 == pos01 );
state01 = is02.rdstate();
is02.seekg(20, std::ios_base::beg);
state02 = is02.rdstate();
pos03 = is02.tellg();
VERIFY( pos03 == pos04 + off_type(10) );
VERIFY( state01 == state02 );
pos04 = is02.tellg();
VERIFY( pos03 == pos04 );
state01 = is03.rdstate();
is03.seekg(20, std::ios_base::beg);
state02 = is03.rdstate();
pos05 = is03.tellg();
VERIFY( pos05 == pos06 + off_type(10) );
VERIFY( state01 == state02 );
pos06 = is03.tellg();
VERIFY( pos05 == pos06 );
}
int main()
{
test04();
return 0;
}
// 2000-06-29 bkoz
// Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// 27.6.1.3 unformatted input functions
// NB: ostream has a particular "seeks" category. Adopt this for istreams too.
// @require@ %-*.tst %-*.txt
// @diff@ %-*.tst %-*.txt
#include <istream>
#include <sstream>
#include <fstream>
#include <testsuite_hooks.h>
// stringstreams
void test05(void)
{
typedef std::istream::off_type off_type;
bool test __attribute__((unused)) = true;
std::wistream::pos_type pos01, pos02, pos03, pos04, pos05, pos06;
std::ios_base::iostate state01, state02;
const char str_lit01[] = "wistream_seeks-1.tst";
std::wifstream if01(str_lit01);
std::wifstream if02(str_lit01);
std::wifstream if03(str_lit01);
VERIFY( if01.good() );
VERIFY( if02.good() );
VERIFY( if03.good() );
std::wstringbuf strbuf01(std::ios_base::in | std::ios_base::out);
if01 >> &strbuf01;
// initialize stringbufs that are ios_base::out
std::wstringbuf strbuf03(strbuf01.str(), std::ios_base::out);
// initialize stringbufs that are ios_base::in
std::wstringbuf strbuf02(strbuf01.str(), std::ios_base::in);
std::wistream is01(&strbuf01);
std::wistream is02(&strbuf02);
std::wistream is03(&strbuf03);
// pos_type tellg()
// in | out
pos01 = is01.tellg();
pos02 = is01.tellg();
pos03 = is02.tellg();
pos04 = is02.tellg();
pos05 = is03.tellg();
pos06 = is03.tellg();
// istream& seekg(pos_type)
// istream& seekg(off_type, ios_base::seekdir)
// cur
// NB: see library issues list 136. It's the v-3 interp that seekg
// only sets the input buffer, or else istreams with buffers that
// have _M_mode == ios_base::out will fail to have consistency
// between seekg and tellg.
state01 = is01.rdstate();
is01.seekg(10, std::ios_base::cur);
state02 = is01.rdstate();
pos01 = is01.tellg();
VERIFY( pos01 == pos02 + off_type(10) );
VERIFY( state01 == state02 );
pos02 = is01.tellg();
VERIFY( pos02 == pos01 );
state01 = is02.rdstate();
is02.seekg(10, std::ios_base::cur);
state02 = is02.rdstate();
pos03 = is02.tellg();
VERIFY( pos03 == pos04 + off_type(10) );
VERIFY( state01 == state02 );
pos04 = is02.tellg();
VERIFY( pos03 == pos04 );
state01 = is03.rdstate();
is03.seekg(10, std::ios_base::cur);
state02 = is03.rdstate();
pos05 = is03.tellg();
VERIFY( pos05 == pos06 ); // as only out buffer
VERIFY( state01 != state02 );
pos06 = is03.tellg();
VERIFY( pos05 == pos06 );
// beg
state01 = is01.rdstate();
is01.seekg(20, std::ios_base::beg);
state02 = is01.rdstate();
pos01 = is01.tellg();
VERIFY( pos01 == pos02 + off_type(10) );
VERIFY( state01 == state02 );
pos02 = is01.tellg();
VERIFY( pos02 == pos01 );
state01 = is02.rdstate();
is02.seekg(20, std::ios_base::beg);
state02 = is02.rdstate();
pos03 = is02.tellg();
VERIFY( pos03 == pos04 + off_type(10) );
VERIFY( state01 == state02 );
pos04 = is02.tellg();
VERIFY( pos03 == pos04 );
state01 = is03.rdstate();
is03.seekg(20, std::ios_base::beg);
state02 = is03.rdstate();
pos05 = is03.tellg();
VERIFY( pos05 == pos06 ); // as only out buffer
VERIFY( state01 == state02 );
pos06 = is03.tellg();
VERIFY( pos05 == pos06 );
}
int main()
{
test05();
return 0;
}
// Copyright (C) 2004 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
// 27.6.1.1.2 class basic_istream::sentry
#include <istream>
#include <sstream>
#include <testsuite_hooks.h>
void test01()
{
bool test __attribute__((unused)) = true;
const wchar_t* lit01 = L"stereolab on the bolsinga tip";
const std::wstring str01(lit01);
std::wstringbuf strbuf01;
std::wstringbuf strbuf02(str01);
std::wistream istr01(&strbuf01);
std::wistream istr02(&strbuf02);
// test negatives
std::wistream::sentry sentry01(istr01);
VERIFY( bool(sentry01) == false );
std::wistream::sentry sentry02(istr01, true);
VERIFY( bool(sentry02) == false );
// positive tests
std::wistream::sentry sentry03(istr02);
VERIFY( bool(sentry03) == true );
std::wistream::sentry sentry04(istr02, true);
VERIFY( bool(sentry04) == true );
}
int main()
{
test01();
return 0;
}
// Copyright (C) 2004 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
// 27.6.1.1.2 class basic_istream::sentry
#include <sstream>
#include <testsuite_hooks.h>
int main()
{
using namespace std;
wistringstream stream;
stream.exceptions(ios_base::eofbit);
try
{
wistream::sentry sentry(stream, false);
VERIFY( false );
}
catch (ios_base::failure&)
{
VERIFY( stream.rdstate() == (ios_base::eofbit | ios_base::failbit) );
}
return 0;
}
// Copyright (C) 2004 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
// 27.6.1.1.2 class basic_istream::sentry
#include <istream>
#include <sstream>
#include <testsuite_hooks.h>
// libstdc++/944
void
test02()
{
using namespace std;
wistringstream in(L"80.21 56.89 12.3");
bool test __attribute__((unused)) = true;
int i = 0;
double x;
// ios_base::eof == 2
while (in >> x)
{
++i;
if (i > 3)
break;
}
VERIFY( i == 3 );
}
int main()
{
test02();
return 0;
}
// Copyright (C) 2004 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
// 27.6.1.1.2 class basic_istream::sentry
#include <istream>
#include <sstream>
#include <testsuite_hooks.h>
// libstdc++/9562
void
test03()
{
bool test __attribute__((unused)) = true;
std::wstringbuf strbuf01;
std::wistream strm1(&strbuf01);
const std::wistream::sentry sentry1(strm1);
VERIFY( bool(sentry1) == false );
}
int main()
{
test03();
return 0;
}
// Copyright (C) 2004 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// 27.6.1.3 unformatted input functions
// NB: ostream has a particular "seeks" category. Adopt this for istreams too.
// @require@ %-*.tst %-*.txt
// @diff@ %-*.tst %-*.txt
#include <istream>
#include <sstream>
#include <fstream>
#include <testsuite_hooks.h>
void test01()
{
using namespace std;
typedef ios::off_type off_type;
typedef ios::pos_type pos_type;
bool test __attribute__((unused)) = true;
const char str_lit01[] = "wistream_seeks-1.tst";
// in
wistringstream ist1;
pos_type p3 = ist1.tellg();
wifstream ifs1;
pos_type p4 = ifs1.tellg();
// N.B. We implement the resolution of DR 453 and
// istringstream::tellg() doesn't fail.
VERIFY( p3 == pos_type(off_type(0)) );
VERIFY( p4 == pos_type(off_type(-1)) );
// in
// test ctors leave things in the same positions...
wistringstream ist2(L"bob_marley:kaya");
p3 = ist2.tellg();
wifstream ifs2(str_lit01);
p4 = ifs2.tellg();
VERIFY( p3 == p4 );
}
int main()
{
test01();
return 0;
}
// Copyright (C) 2004 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// 27.6.1.3 unformatted input functions
// DR 60 -- tellg does not effect calls to gcount
#include <istream>
#include <sstream>
#include <testsuite_hooks.h>
void test01()
{
using namespace std;
bool test __attribute__((unused)) = true;
wistringstream ist(L"three sides live");
ist.ignore(4);
int count1 = ist.gcount();
ist.tellg();
int count2 = ist.gcount();
VERIFY( count1 == count2 );
}
int main()
{
test01();
return 0;
}
// Copyright (C) 2004 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// 27.6.1.3 unformatted input functions
// NB: ostream has a particular "seeks" category. Adopt this for istreams too.
#include <istream>
#include <sstream>
#include <testsuite_hooks.h>
// libstdc++/8348
void test06(void)
{
using namespace std;
bool test __attribute__((unused)) = true;
wstring num1(L"555");
// tellg
{
wistringstream iss(num1);
wistream::pos_type pos1 = iss.tellg();
int asNum = 0;
iss >> asNum;
VERIFY( test = iss.eof() );
VERIFY( test = !iss.fail() );
iss.tellg();
VERIFY( test = !iss.fail() );
}
// seekg
{
wistringstream iss(num1);
wistream::pos_type pos1 = iss.tellg();
int asNum = 0;
iss >> asNum;
VERIFY( test = iss.eof() );
VERIFY( test = !iss.fail() );
iss.seekg(0, ios_base::beg);
VERIFY( test = !iss.fail() );
}
// seekg
{
wistringstream iss(num1);
wistream::pos_type pos1 = iss.tellg();
int asNum = 0;
iss >> asNum;
VERIFY( test = iss.eof() );
VERIFY( test = !iss.fail() );
iss.seekg(pos1);
VERIFY( test = !iss.fail() );
}
}
int main()
{
test06();
return 0;
}
// Copyright (C) 2004 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#include <istream>
#include <streambuf>
#include <sstream>
#include <testsuite_hooks.h>
#include <testsuite_io.h>
using namespace std;
void test01()
{
bool test __attribute__((unused)) = true;
__gnu_test::fail_wstreambuf bib;
wistream stream(&bib);
stream.exceptions(ios_base::badbit);
try
{
stream.tellg();
VERIFY( false );
}
catch (const __gnu_test::positioning_error&)
{
// stream should set badbit and rethrow facet_error.
VERIFY( stream.bad() );
VERIFY( (stream.rdstate() & ios_base::failbit) == 0 );
VERIFY( !stream.eof() );
}
catch (...)
{
VERIFY(false);
}
}
// libstdc++/9546
int main()
{
test01();
return 0;
}
// Copyright (C) 2004 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// 27.6.1.3 unformatted input functions
// NB: ostream has a particular "seeks" category. Adopt this for istreams too.
// @require@ %-*.tst %-*.txt
// @diff@ %-*.tst %-*.txt
#include <istream>
#include <sstream>
#include <fstream>
#include <testsuite_hooks.h>
// fstreams
void test04(void)
{
typedef std::wistream::off_type off_type;
bool test __attribute__((unused)) = true;
std::wistream::pos_type pos01, pos02, pos03, pos04, pos05, pos06;
std::ios_base::iostate state01, state02;
const char str_lit01[] = "wistream_seeks-1.txt";
const char str_lit02[] = "wistream_seeks-2.txt";
std::wifstream if01(str_lit01, std::ios_base::in | std::ios_base::out);
std::wifstream if02(str_lit01, std::ios_base::in);
std::wifstream if03(str_lit02, std::ios_base::out | std::ios_base::trunc);
VERIFY( if01.good() );
VERIFY( if02.good() );
VERIFY( if03.good() );
std::wistream is01(if01.rdbuf());
std::wistream is02(if02.rdbuf());
std::wistream is03(if03.rdbuf());
// pos_type tellg()
// in | out
pos01 = is01.tellg();
pos02 = is01.tellg();
VERIFY( pos01 == pos02 );
// in
pos03 = is02.tellg();
pos04 = is02.tellg();
VERIFY( pos03 == pos04 );
// out
pos05 = is03.tellg();
pos06 = is03.tellg();
VERIFY( pos05 == pos06 );
// cur
// NB: see library issues list 136. It's the v-3 interp that seekg
// only sets the input buffer, or else istreams with buffers that
// have _M_mode == ios_base::out will fail to have consistency
// between seekg and tellg.
state01 = is01.rdstate();
is01.seekg(10, std::ios_base::cur);
state02 = is01.rdstate();
pos01 = is01.tellg();
VERIFY( pos01 == pos02 + off_type(10) );
VERIFY( state01 == state02 );
pos02 = is01.tellg();
VERIFY( pos02 == pos01 );
}
int main()
{
test04();
return 0;
}
// Copyright (C) 2004 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// 27.6.1.3 unformatted input functions
// NB: ostream has a particular "seeks" category. Adopt this for istreams too.
// @require@ %-*.tst %-*.txt
// @diff@ %-*.tst %-*.txt
#include <istream>
#include <sstream>
#include <fstream>
#include <testsuite_hooks.h>
// stringstreams
void test05(void)
{
typedef std::wistream::off_type off_type;
bool test __attribute__((unused)) = true;
std::wistream::pos_type pos01, pos02, pos03, pos04, pos05, pos06;
std::ios_base::iostate state01, state02;
const char str_lit01[] = "wistream_seeks-1.tst";
std::wifstream if01(str_lit01);
std::wifstream if02(str_lit01);
std::wifstream if03(str_lit01);
VERIFY( if01.good() );
VERIFY( if02.good() );
VERIFY( if03.good() );
std::wstringbuf strbuf01(std::ios_base::in | std::ios_base::out);
if01 >> &strbuf01;
// initialize stringbufs that are ios_base::out
std::wstringbuf strbuf03(strbuf01.str(), std::ios_base::out);
// initialize stringbufs that are ios_base::in
std::wstringbuf strbuf02(strbuf01.str(), std::ios_base::in);
std::wistream is01(&strbuf01);
std::wistream is02(&strbuf02);
std::wistream is03(&strbuf03);
// pos_type tellg()
// in | out
pos01 = is01.tellg();
pos02 = is01.tellg();
VERIFY( pos01 == pos02 );
// in
pos03 = is02.tellg();
pos04 = is02.tellg();
VERIFY( pos03 == pos04 );
// out
pos05 = is03.tellg();
pos06 = is03.tellg();
VERIFY( pos05 == pos06 );
// cur
// NB: see library issues list 136. It's the v-3 interp that seekg
// only sets the input buffer, or else istreams with buffers that
// have _M_mode == ios_base::out will fail to have consistency
// between seekg and tellg.
state01 = is01.rdstate();
is01.seekg(10, std::ios_base::cur);
state02 = is01.rdstate();
pos01 = is01.tellg();
VERIFY( pos01 == pos02 + off_type(10) );
VERIFY( state01 == state02 );
pos02 = is01.tellg();
VERIFY( pos02 == pos01 );
}
int main()
{
test05();
return 0;
}
// Copyright (C) 2004 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// 27.6.1.4 standard basic_istream manipulators
#include <istream>
#include <sstream>
#include <stdexcept>
#include <testsuite_hooks.h>
void test01(void)
{
bool test __attribute__((unused)) = true;
const wchar_t str_lit01[] = L" venice ";
const std::wstring str01(L" santa barbara ");
std::wstring str02(str_lit01);
std::wstring str04;
std::wstring str05;
std::ios_base::iostate flag3, flag4, flag5;
// template<_CharT, _Traits>
// basic_istream<_CharT, _Traits>& ws(basic_istream<_Char, _Traits>& is)
std::wistringstream iss01(str01);
std::wistringstream iss02(str01);
iss01 >> str04;
VERIFY( str04.size() != str01.size() );
VERIFY( str04 == L"santa" );
iss02 >> std::ws;
iss02 >> str05;
VERIFY( str05.size() != str01.size() );
VERIFY( str05 == L"santa" );
VERIFY( str05 == str04 );
iss01 >> str04;
VERIFY( str04.size() != str01.size() );
VERIFY( str04 == L"barbara" );
iss02 >> std::ws;
iss02 >> str05;
VERIFY( str05.size() != str01.size() );
VERIFY( str05 == L"barbara" );
VERIFY( str05 == str04 );
flag3 = std::ios_base::eofbit;
flag4 = std::ios_base::badbit;
flag5 = std::ios_base::failbit;
VERIFY( !iss01.fail() );
VERIFY( !iss02.fail() );
VERIFY( !iss01.eof() );
VERIFY( !iss02.eof() );
iss01 >> std::ws;
VERIFY( !iss01.fail() );
VERIFY( iss01.eof() );
}
int main()
{
test01();
return 0;
}
// 990811 bkoz
// Copyright (C) 1999 Cygnus Solutions
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
/mnt/cdrom/yabbyyou_jesusdread/disk_2/King Tubby's - Repatriation
/mnt/cdrom/yabbyyou_jesusdread/disk_2/Vivian Jackson and the Prop
/mnt/cdrom/yabbyyou_jesusdread/disk_2/Michael Rose - Born Free (d
/mnt/cdrom/yabbyyou_jesusdread/disk_2/King Tubby's - Love Thy Nei
/mnt/cdrom/yabbyyou_jesusdread/disk_1/Vivian Jackson and the Defe
/mnt/cdrom/yabbyyou_jesusdread/disk_1/Vivian Jackson and the Ralp
/mnt/cdrom/yabbyyou_jesusdread/disk_1/Tommy McCook and Don D. Jnr
/mnt/cdrom/yabbyyou_jesusdread/disk_1/Big Youth and Vivian Jackso
/mnt/cdrom/yabbyyou_jesusdread/disk_1/King Tubby's - Big Youth Fi
/mnt/cdrom/yabbyyou_jesusdread/disk_1/Upsetter Mix - Rally Dub
/mnt/cdrom/yabbyyou_jesusdread/disk_1/Dicky Burton - God Is Watch
/mnt/cdrom/yabbyyou_jesusdread/disk_1/Pablo and Vivian Jackson -
/mnt/cdrom/yabbyyou_jesusdread/disk_1/King Tubby's - Rock King Tu
/mnt/cdrom/TORTOISE_millions_now_living/tortoise_5
/mnt/cdrom/TORTOISE_millions_now_living/tortoise_6
/mnt/cdrom/bettycarter_i'myours,you'remine/This time
/mnt/cdrom/bettycarter_i'myours,you'remine/I'm Yours, You're Mine
/mnt/cdrom/bettycarter_i'myours,you'remine/Lonely House
/mnt/cdrom/bettycarter_i'myours,you'remine/Close Your Eyes
/mnt/cdrom/bettycarter_i'myours,you'remine/Useless Landscape
/mnt/cdrom/bettycarter_i'myours,you'remine/East of the Sun
/mnt/cdrom/bettycarter_i'myours,you'remine/September Song
/mnt/cdrom/bettycarter_it'snotaboutthemelo/Naima's Love Song
/mnt/cdrom/bettycarter_it'snotaboutthemelo/Stay As Sweet As You Are
/mnt/cdrom/bettycarter_it'snotaboutthemelo/Make Him Believe
/mnt/cdrom/bettycarter_it'snotaboutthemelo/I Should Care
/mnt/cdrom/bettycarter_it'snotaboutthemelo/Once Upon a Summertime
/mnt/cdrom/bettycarter_it'snotaboutthemelo/You Go To My Head
/mnt/cdrom/bettycarter_it'snotaboutthemelo/In the Still Of the Night
/mnt/cdrom/bettycarter_it'snotaboutthemelo/When It's Sleepy Time Down
/mnt/cdrom/bettycarter_it'snotaboutthemelo/The Love We Had Yesterday
/mnt/cdrom/bettycarter_it'snotaboutthemelo/Dip Bag
/mnt/cdrom/bettycarter_it'snotaboutthemelo/You're Mine, Too
/mnt/cdrom/c_adderly_somethin'_else/Autumn Leaves
/mnt/cdrom/c_adderly_somethin'_else/Love For Sale
/mnt/cdrom/c_adderly_somethin'_else/Somethin' Else
/mnt/cdrom/c_adderly_somethin'_else/One For Daddy-O
// 990811 bkoz
// Copyright (C) 1999 Cygnus Solutions
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
/mnt/cdrom/yabbyyou_jesusdread/disk_2/King Tubby's - Repatriation
/mnt/cdrom/yabbyyou_jesusdread/disk_2/Vivian Jackson and the Prop
/mnt/cdrom/yabbyyou_jesusdread/disk_2/Michael Rose - Born Free (d
/mnt/cdrom/yabbyyou_jesusdread/disk_2/King Tubby's - Love Thy Nei
/mnt/cdrom/yabbyyou_jesusdread/disk_1/Vivian Jackson and the Defe
/mnt/cdrom/yabbyyou_jesusdread/disk_1/Vivian Jackson and the Ralp
/mnt/cdrom/yabbyyou_jesusdread/disk_1/Tommy McCook and Don D. Jnr
/mnt/cdrom/yabbyyou_jesusdread/disk_1/Big Youth and Vivian Jackso
/mnt/cdrom/yabbyyou_jesusdread/disk_1/King Tubby's - Big Youth Fi
/mnt/cdrom/yabbyyou_jesusdread/disk_1/Upsetter Mix - Rally Dub
/mnt/cdrom/yabbyyou_jesusdread/disk_1/Dicky Burton - God Is Watch
/mnt/cdrom/yabbyyou_jesusdread/disk_1/Pablo and Vivian Jackson -
/mnt/cdrom/yabbyyou_jesusdread/disk_1/King Tubby's - Rock King Tu
/mnt/cdrom/TORTOISE_millions_now_living/tortoise_5
/mnt/cdrom/TORTOISE_millions_now_living/tortoise_6
/mnt/cdrom/bettycarter_i'myours,you'remine/This time
/mnt/cdrom/bettycarter_i'myours,you'remine/I'm Yours, You're Mine
/mnt/cdrom/bettycarter_i'myours,you'remine/Lonely House
/mnt/cdrom/bettycarter_i'myours,you'remine/Close Your Eyes
/mnt/cdrom/bettycarter_i'myours,you'remine/Useless Landscape
/mnt/cdrom/bettycarter_i'myours,you'remine/East of the Sun
/mnt/cdrom/bettycarter_i'myours,you'remine/September Song
/mnt/cdrom/bettycarter_it'snotaboutthemelo/Naima's Love Song
/mnt/cdrom/bettycarter_it'snotaboutthemelo/Stay As Sweet As You Are
/mnt/cdrom/bettycarter_it'snotaboutthemelo/Make Him Believe
/mnt/cdrom/bettycarter_it'snotaboutthemelo/I Should Care
/mnt/cdrom/bettycarter_it'snotaboutthemelo/Once Upon a Summertime
/mnt/cdrom/bettycarter_it'snotaboutthemelo/You Go To My Head
/mnt/cdrom/bettycarter_it'snotaboutthemelo/In the Still Of the Night
/mnt/cdrom/bettycarter_it'snotaboutthemelo/When It's Sleepy Time Down
/mnt/cdrom/bettycarter_it'snotaboutthemelo/The Love We Had Yesterday
/mnt/cdrom/bettycarter_it'snotaboutthemelo/Dip Bag
/mnt/cdrom/bettycarter_it'snotaboutthemelo/You're Mine, Too
/mnt/cdrom/c_adderly_somethin'_else/Autumn Leaves
/mnt/cdrom/c_adderly_somethin'_else/Love For Sale
/mnt/cdrom/c_adderly_somethin'_else/Somethin' Else
/mnt/cdrom/c_adderly_somethin'_else/One For Daddy-O
// 990811 bkoz
// Copyright (C) 1999 Cygnus Solutions
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
/mnt/cdrom/yabbyyou_jesusdread/disk_2/King Tubby's - Repatriation
/mnt/cdrom/yabbyyou_jesusdread/disk_2/Vivian Jackson and the Prop
/mnt/cdrom/yabbyyou_jesusdread/disk_2/Michael Rose - Born Free (d
/mnt/cdrom/yabbyyou_jesusdread/disk_2/King Tubby's - Love Thy Nei
/mnt/cdrom/yabbyyou_jesusdread/disk_1/Vivian Jackson and the Defe
/mnt/cdrom/yabbyyou_jesusdread/disk_1/Vivian Jackson and the Ralp
/mnt/cdrom/yabbyyou_jesusdread/disk_1/Tommy McCook and Don D. Jnr
/mnt/cdrom/yabbyyou_jesusdread/disk_1/Big Youth and Vivian Jackso
/mnt/cdrom/yabbyyou_jesusdread/disk_1/King Tubby's - Big Youth Fi
/mnt/cdrom/yabbyyou_jesusdread/disk_1/Upsetter Mix - Rally Dub
/mnt/cdrom/yabbyyou_jesusdread/disk_1/Dicky Burton - God Is Watch
/mnt/cdrom/yabbyyou_jesusdread/disk_1/Pablo and Vivian Jackson -
/mnt/cdrom/yabbyyou_jesusdread/disk_1/King Tubby's - Rock King Tu
/mnt/cdrom/TORTOISE_millions_now_living/tortoise_5
/mnt/cdrom/TORTOISE_millions_now_living/tortoise_6
/mnt/cdrom/bettycarter_i'myours,you'remine/This time
/mnt/cdrom/bettycarter_i'myours,you'remine/I'm Yours, You're Mine
/mnt/cdrom/bettycarter_i'myours,you'remine/Lonely House
/mnt/cdrom/bettycarter_i'myours,you'remine/Close Your Eyes
/mnt/cdrom/bettycarter_i'myours,you'remine/Useless Landscape
/mnt/cdrom/bettycarter_i'myours,you'remine/East of the Sun
/mnt/cdrom/bettycarter_i'myours,you'remine/September Song
/mnt/cdrom/bettycarter_it'snotaboutthemelo/Naima's Love Song
/mnt/cdrom/bettycarter_it'snotaboutthemelo/Stay As Sweet As You Are
/mnt/cdrom/bettycarter_it'snotaboutthemelo/Make Him Believe
/mnt/cdrom/bettycarter_it'snotaboutthemelo/I Should Care
/mnt/cdrom/bettycarter_it'snotaboutthemelo/Once Upon a Summertime
/mnt/cdrom/bettycarter_it'snotaboutthemelo/You Go To My Head
/mnt/cdrom/bettycarter_it'snotaboutthemelo/In the Still Of the Night
/mnt/cdrom/bettycarter_it'snotaboutthemelo/When It's Sleepy Time Down
/mnt/cdrom/bettycarter_it'snotaboutthemelo/The Love We Had Yesterday
/mnt/cdrom/bettycarter_it'snotaboutthemelo/Dip Bag
/mnt/cdrom/bettycarter_it'snotaboutthemelo/You're Mine, Too
/mnt/cdrom/c_adderly_somethin'_else/Autumn Leaves
/mnt/cdrom/c_adderly_somethin'_else/Love For Sale
/mnt/cdrom/c_adderly_somethin'_else/Somethin' Else
/mnt/cdrom/c_adderly_somethin'_else/One For Daddy-O
bd2
456x
9mzuv>?@ABCDEFGHIJKLMNOPQRSTUVWXYZracadabras, i wannaz
because because
because. .
of the wonderful things he does!!
ok
\ No newline at end of file
bd2
456x
9mzuv>?@ABCDEFGHIJKLMNOPQRSTUVWXYZracadabras, i wannaz
because because
because. .
of the wonderful things he does!!
ok
\ No newline at end of file
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
1234567890
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment