[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[help-cgicc] CGIcc under Apache and Windows 2000
From: |
Jean ANDRE |
Subject: |
[help-cgicc] CGIcc under Apache and Windows 2000 |
Date: |
Sat, 29 Jan 2005 01:19:21 +0500 |
User-agent: |
Mozilla Thunderbird 0.9 (Windows/20041103) |
Hello,
I actually got an error in using CGIcc under Apache server 2.0 and
Windows 2000.
I got a crash on the follwing instruction "cout << HTTPHTMLHeader()"
what ever the method POST or GET. Under the debugger I got the error in
this part of code, so here is the caller stack (in reverse order). The
std::ostream& out parameter seems to be invalid. All members contains
0x00000 or have a bad ptr. I've joined a print screen. Does I missed
something ?. I've compiled my CGIn in single thread program.
void _Mtxlock(_Rmtx *_Mtx)
{ /* lock mutex */
EnterCriticalSection(_Mtx);
}
void _Mutex::_Lock()
{ // lock mutex
_Mtxlock((_Rmtx*)_Mtx);
}
void _Lock()
{ // set the thread lock
_Mylock._Lock();
}
class _Sentry_base
{ // stores thread lock and reference to output stream
public:
_Sentry_base(_Myt& _Ostr)
: _Myostr(_Ostr)
{ // lock the stream buffer, if there
if (_Myostr.rdbuf() != 0)
_Myostr.rdbuf()->_Lock();
}
class sentry
: public _Sentry_base
{ // stores thread lock and state of stream
public:
explicit sentry(_Myt& _Ostr)
: _Sentry_base(_Ostr)
{ // construct locking and testing stream
if (_Ostr.good() && _Ostr.tie() != 0)
template<class _Traits> inline
basic_ostream<char, _Traits>& __cdecl operator<<(
basic_ostream<char, _Traits>& _Ostr,
const char *_Val)
{ // insert NTBS into char stream
typedef char _Elem;
typedef basic_ostream<_Elem, _Traits> _Myos;
ios_base::iostate _State = ios_base::goodbit;
streamsize _Count = (streamsize)_Traits::length(_Val); // may
overflow
streamsize _Pad = _Ostr.width() <= 0 || _Ostr.width() <= _Count
? 0 : _Ostr.width() - _Count;
const typename _Myos::sentry _Ok(_Ostr);
void
cgicc::HTTPContentHeader::render(std::ostream& out) const
{
out << "Content-Type: " << getData() << std::endl;
std::vector<HTTPCookie>::const_iterator iter;
/ ============================================================
// Class MStreamable
// ============================================================
std::ostream&
cgicc::operator<<(std::ostream& out,
const MStreamable& obj)
{
obj.render(out);
return out;
}
- [help-cgicc] CGIcc under Apache and Windows 2000,
Jean ANDRE <=