Author: wyoung
Date: Fri Jun 22 22:01:57 2007
New Revision: 1593
URL: http://svn.gna.org/viewcvs/mysqlpp?rev=1593&view=rev
Log:
Fix to previous checkin for manip module: can't insert ColData instance
directly into stream because that results in an infinite loop due to
auto-quoting logic. Have to use in.c_str() to break the cycle.
Modified:
trunk/lib/manip.cpp
Modified: trunk/lib/manip.cpp
URL:
http://svn.gna.org/viewcvs/mysqlpp/trunk/lib/manip.cpp?rev=1593&r1=1592&r2=1593&view=diff
==============================================================================
--- trunk/lib/manip.cpp (original)
+++ trunk/lib/manip.cpp Fri Jun 22 22:01:57 2007
@@ -75,7 +75,7 @@
}
else {
in.processed = true;
- return *p.qparms << in;
+ return *p.qparms << in.c_str();
}
}
@@ -130,10 +130,10 @@
delete[] s;
}
else if (in.quote_q()) {
- *o.ostr << '\'' << in << '\'';
- }
- else {
- *o.ostr << in;
+ *o.ostr << '\'' << in.c_str() << '\'';
+ }
+ else {
+ *o.ostr << in.c_str();
}
return *o.ostr;
}
@@ -177,7 +177,7 @@
{
if (dont_quote_auto || (o.rdbuf() == cout.rdbuf()) ||
(o.rdbuf() == cerr.rdbuf())) {
- return o << in;
+ return o << in.c_str();
}
if (in.escape_q()) {
@@ -191,10 +191,10 @@
delete[] s;
}
else if (in.quote_q()) {
- o << '\'' << in << '\'';
- }
- else {
- o << in;
+ o << '\'' << in.c_str() << '\'';
+ }
+ else {
+ o << in.c_str();
}
return o;
}
@@ -211,7 +211,7 @@
{
if (dont_quote_auto || (o.rdbuf() == cout.rdbuf()) ||
(o.rdbuf() == cerr.rdbuf())) {
- return o << in;
+ return o << in.c_str();
}
if (in.escape_q()) {
@@ -224,10 +224,10 @@
delete[] s;
}
else if (in.quote_q()) {
- o << '\'' << in << '\'';
- }
- else {
- o << in;
+ o << '\'' << in.c_str() << '\'';
+ }
+ else {
+ o << in.c_str();
}
return o;
}
@@ -242,7 +242,7 @@
Query& operator <<(Query& o, const ColData_Tmpl<string>& in)
{
if (dont_quote_auto) {
- o << in;
+ o << in.c_str();
return o;
}
if (in.escape_q()) {
@@ -256,10 +256,10 @@
delete[] s;
}
else if (in.quote_q()) {
- static_cast<ostream&>(o) << '\'' << in << '\'';
- }
- else {
- static_cast<ostream&>(o) << in;
+ static_cast<ostream&>(o) << '\'' << in.c_str() << '\'';
+ }
+ else {
+ static_cast<ostream&>(o) << in.c_str();
}
return o;
}
@@ -274,7 +274,7 @@
Query& operator <<(Query& o, const ColData_Tmpl<const_string>& in)
{
if (dont_quote_auto) {
- o << in;
+ o << in.c_str();
return o;
}
if (in.escape_q()) {
@@ -287,10 +287,10 @@
delete[] s;
}
else if (in.quote_q()) {
- static_cast<ostream&>(o) << '\'' << in << '\'';
- }
- else {
- static_cast<ostream&>(o) << in;
+ static_cast<ostream&>(o) << '\'' << in.c_str() << '\'';
+ }
+ else {
+ static_cast<ostream&>(o) << in.c_str();
}
return o;
}
@@ -313,7 +313,7 @@
}
else {
in.processed = true;
- return *p.qparms << in;
+ return *p.qparms << in.c_str();
}
}
@@ -327,10 +327,10 @@
ostream& operator <<(quote_only_type1 o, const ColData_Tmpl<string>& in)
{
if (in.quote_q()) {
- *o.ostr << '\'' << in << '\'';
- }
- else {
- *o.ostr << in;
+ *o.ostr << '\'' << in.c_str() << '\'';
+ }
+ else {
+ *o.ostr << in.c_str();
}
return *o.ostr;
}
@@ -346,10 +346,10 @@
const ColData_Tmpl<const_string>& in)
{
if (in.quote_q()) {
- *o.ostr << '\'' << in << '\'';
- }
- else {
- *o.ostr << in;
+ *o.ostr << '\'' << in.c_str() << '\'';
+ }
+ else {
+ *o.ostr << in.c_str();
}
return *o.ostr;
}
@@ -372,7 +372,7 @@
}
else {
in.processed = true;
- return *p.qparms << in;
+ return *p.qparms << in.c_str();
}
}
@@ -387,10 +387,10 @@
const ColData_Tmpl<string>& in)
{
if (in.quote_q()) {
- *o.ostr << '\'' << in << '\'';
- }
- else {
- *o.ostr << in;
+ *o.ostr << '\'' << in.c_str() << '\'';
+ }
+ else {
+ *o.ostr << in.c_str();
}
return *o.ostr;
}
@@ -407,10 +407,10 @@
const ColData_Tmpl<const_string>& in)
{
if (in.quote_q()) {
- *o.ostr << '\'' << in << '\'';
- }
- else {
- *o.ostr << in;
+ *o.ostr << '\'' << in.c_str() << '\'';
+ }
+ else {
+ *o.ostr << in.c_str();
}
return *o.ostr;
}
@@ -430,7 +430,7 @@
}
else {
in.processed = true;
- return *p.qparms << in;
+ return *p.qparms << in.c_str();
}
}
@@ -484,7 +484,7 @@
delete[] s;
}
else {
- *o.ostr << in;
+ *o.ostr << in.c_str();
}
return *o.ostr;
}
@@ -523,7 +523,7 @@
SQLQueryParms& operator <<(do_nothing_type2 p, SQLString& in)
{
in.processed = true;
- return *p.qparms << in;
+ return *p.qparms << in.c_str();
}
@@ -532,7 +532,7 @@
SQLQueryParms& operator <<(ignore_type2 p, SQLString& in)
{
- return *p.qparms << in;
+ return *p.qparms << in.c_str();
}
} // end namespace mysqlpp
_______________________________________________
Mysqlpp-commits mailing list
[email protected]
https://mail.gna.org/listinfo/mysqlpp-commits