Revision: 7230
http://svn.sourceforge.net/mahogany/?rev=7230&view=rev
Author: vadz
Date: 2007-04-03 06:43:51 -0700 (Tue, 03 Apr 2007)
Log Message:
-----------
more wxCStrData to char fixes for latest wx cvs
Modified Paths:
--------------
trunk/M/src/adb/AdbManager.cpp
trunk/M/src/gui/wxMsgCmdProc.cpp
trunk/M/src/mail/MailFolderCC.cpp
trunk/M/src/mail/Pop3.cpp
trunk/M/src/mail/SendMessageCC.cpp
trunk/M/src/mail/ThreadJWZ.cpp
trunk/M/src/modules/viewflt/Rot13.cpp
Modified: trunk/M/src/adb/AdbManager.cpp
===================================================================
--- trunk/M/src/adb/AdbManager.cpp 2007-04-03 13:43:17 UTC (rev 7229)
+++ trunk/M/src/adb/AdbManager.cpp 2007-04-03 13:43:51 UTC (rev 7230)
@@ -515,7 +515,7 @@
bool quoted = false;
for ( size_t n = 0; n <= len; n++ )
{
- switch ( const wxChar ch = n == len ? wxChar('\0') : text[n] )
+ switch ( const wxChar ch = n == len ? '\0' : (wxChar)text[n] )
{
case '"':
quoted = !quoted;
Modified: trunk/M/src/gui/wxMsgCmdProc.cpp
===================================================================
--- trunk/M/src/gui/wxMsgCmdProc.cpp 2007-04-03 13:43:17 UTC (rev 7229)
+++ trunk/M/src/gui/wxMsgCmdProc.cpp 2007-04-03 13:43:51 UTC (rev 7230)
@@ -305,7 +305,7 @@
// use different message on success (default is initial message + done)
void SetSuccessMsg(const wxChar *fmt, ...);
- // give the appropariate message
+ // give the appropriate message
~AsyncStatusHandler();
private:
@@ -1389,14 +1389,14 @@
AsyncStatusHandler *status =
new AsyncStatusHandler(this, _("Saving %d message(s) to '%s'..."),
selections.GetCount(),
- folder->GetFullName().c_str());
+ (const wxChar *)folder->GetFullName().c_str());
Ticket t = m_asmf->
SaveMessagesToFolder(&selections, GetFrame(), folder, this);
status->Monitor(t,
_("Failed to save messages to the folder '%s'."),
- folder->GetFullName().c_str());
+ (const wxChar *)folder->GetFullName().c_str());
folder->DecRef();
Modified: trunk/M/src/mail/MailFolderCC.cpp
===================================================================
--- trunk/M/src/mail/MailFolderCC.cpp 2007-04-03 13:43:17 UTC (rev 7229)
+++ trunk/M/src/mail/MailFolderCC.cpp 2007-04-03 13:43:51 UTC (rev 7230)
@@ -120,6 +120,17 @@
// macros
// ----------------------------------------------------------------------------
+// c-client wants unsinged char strings while we work with char pointers
+// everywhere, provide this macro-like helper function to cast the strings
+// to the correct type (this has the added benefit of forcing implicit
+// conversion of wxString::char_str() to "char *", i.e. we can write
+// UCHAR_CAST(s.char_str()) while (unsigned char *)s.char_str() wouldn't
+// compile)
+inline unsigned char *UCHAR_CAST(char *s)
+{
+ return reinterpret_cast<unsigned char *>(s);
+}
+
/**
@name checking folder macros
@@ -1678,27 +1689,28 @@
// now decode the text using cclient functions
unsigned long len;
- unsigned char *start = (unsigned char *)pEncTextStart; // for cclient
- char *text;
+ unsigned char *start = (unsigned char *)pEncTextStart;
+ void *text;
if ( enc2047 == Encoding_Base64 )
{
- text = (char *)rfc822_base64(start, lenEncWord, &len);
+ text = rfc822_base64(start, lenEncWord, &len);
}
else // QP
{
// cclient rfc822_qprint() behaves correctly and leaves '_' in the
// QP encoded text because this is what RFC says, however many
// broken clients replace spaces with underscores and so we undo it
- // here - better user-friendly than standard conformant
+ // here -- in this case it's better to be user-friendly than
+ // standard-conforming
String strWithoutUnderscores;
if ( hasUnderscore )
{
strWithoutUnderscores = String(pEncTextStart, lenEncWord);
strWithoutUnderscores.Replace(_T("_"), _T(" "));
- start = (unsigned char *)strWithoutUnderscores.c_str();
+ start = (unsigned char *)(char
*)strWithoutUnderscores.char_str();
}
- text = (char *)rfc822_qprint(start, lenEncWord, &len);
+ text = rfc822_qprint(start, lenEncWord, &len);
}
String textDecoded;
@@ -1710,8 +1722,8 @@
}
else // decoded ok
{
- textDecoded = String(wxConvertMB2WX(text), (size_t)len);
- fs_give((void **)&text);
+ textDecoded.assign((const char *)len, len);
+ fs_give(&text);
}
// normally we leave the (8 bit) string as is and remember its
@@ -1952,7 +1964,7 @@
imapspec.c_str());
// stream may be NIL or not here
- mail_create(stream, (char *)imapspec.c_str());
+ mail_create(stream, imapspec.char_str());
// restore the auth info once again
if ( !login.empty() )
@@ -2605,9 +2617,9 @@
// only set the paths if we do use rsh/ssh
if ( m_TcpRshTimeout )
- (void) mail_parameters(NIL, SET_RSHPATH, (char *)m_RshPath.c_str());
+ (void) mail_parameters(NIL, SET_RSHPATH, m_RshPath.char_str());
if ( m_TcpSshTimeout )
- (void) mail_parameters(NIL, SET_SSHPATH, (char *)m_SshPath.c_str());
+ (void) mail_parameters(NIL, SET_SSHPATH, m_SshPath.char_str());
}
@@ -2923,7 +2935,7 @@
wxLogTrace(TRACE_MF_CALLS, _T("MailFolderCC::CheckStatus() on %s."),
spec.c_str());
- mail_status(stream, (char *)spec.c_str(), STATUS_FLAGS);
+ mail_status(stream, spec.char_str(), STATUS_FLAGS);
// keep the stream alive to be reused in the next call, if any
if ( server )
@@ -3064,9 +3076,9 @@
CHECK_DEAD_RC("Appending to closed folder '%s' failed.", false);
STRING str;
- INIT(&str, mail_string, (void *) msg.c_str(), msg.Length());
+ INIT(&str, mail_string, msg.char_str(), msg.Length());
- if ( !mail_append(m_MailStream, (char *)m_ImapSpec.c_str(), &str) )
+ if ( !mail_append(m_MailStream, m_ImapSpec.char_str(), &str) )
{
wxLogError(_("Failed to save message to the folder '%s'"),
GetName().c_str());
@@ -3091,7 +3103,7 @@
char *dateptr = NULL;
char datebuf[128];
MESSAGECACHE mc;
- if ( mail_parse_date(&mc, (unsigned char *) date.c_str()) )
+ if ( mail_parse_date(&mc, UCHAR_CAST(date.char_str())) )
{
mail_date(datebuf, &mc);
dateptr = datebuf;
@@ -3108,14 +3120,15 @@
String flags = GetImapFlags(msg.GetStatus());
+ char *tmpstr = tmp.char_str();
STRING str;
- INIT(&str, mail_string, (void *) tmp.c_str(), tmp.Length());
+ INIT(&str, mail_string, tmpstr, strlen(tmpstr));
CHECK_DEAD_RC("Appending to closed folder '%s' failed.", false);
if ( !mail_append_full(m_MailStream,
- (char *)m_ImapSpec.c_str(),
- (char *)flags.c_str(),
+ m_ImapSpec.char_str(),
+ flags.char_str(),
dateptr,
&str) )
{
@@ -3173,8 +3186,8 @@
String sequence = BuildSequence(*selections);
String pathDst = GetPathFromImapSpec(specDst);
if ( mail_copy_full(m_MailStream,
- (char *)sequence.c_str(),
- (char *)pathDst.c_str(),
+ sequence.char_str(),
+ pathDst.char_str(),
CP_UID) )
{
didServerSideCopy = true;
@@ -3667,8 +3680,9 @@
*slistMatch = mail_newstringlist();
- (*slistMatch)->text.data = (unsigned char
*)strdup(wxConvertWX2MB(crit->m_Key));
- (*slistMatch)->text.size = crit->m_Key.length();
+ char * const keystr = strdup(crit->m_Key.mb_str());
+ (*slistMatch)->text.data = (unsigned char *)keystr;
+ (*slistMatch)->text.size = strlen(keystr);
if ( crit->m_Invert )
{
@@ -3756,10 +3770,7 @@
wxLogTrace(TRACE_MF_CALLS, _T("MailFolderCC(%s)::SetFlags(%s) = %s"),
GetName().c_str(), sequence.c_str(), flags.c_str());
- mail_flag(m_MailStream,
- (char *)sequence.c_str(),
- (char *)flags.c_str(),
- opFlags);
+ mail_flag(m_MailStream, sequence.char_str(), flags.char_str(), opFlags);
}
//else: blocked by python callback
@@ -4178,7 +4189,7 @@
}
}
-static bool MailStreamHasThreader(MAILSTREAM *stream, const char *thrName)
+static bool MailStreamHasThreader(MAILSTREAM *stream, char *thrName)
{
CHECK( stream, false, _T("MailStreamHasThreader: folder is closed") );
@@ -4186,8 +4197,7 @@
THREADER *thr;
for ( thr = imapCap->threader;
- thr && compare_cstring((unsigned char *)thr->name,
- (unsigned char *)thrName);
+ thr && compare_cstring(UCHAR_CAST(thr->name), UCHAR_CAST(thrName));
thr = thr->next )
;
@@ -4220,7 +4230,7 @@
if ( GetType() == MF_IMAP && LEVELSORT(m_MailStream) &&
READ_CONFIG(m_Profile, MP_MSGS_SERVER_THREAD) )
{
- const char *threadingAlgo = NULL;
+ /* const */ char *threadingAlgo = NULL;
// it does, but maybe we want only threading by references (best) and it
// only provides dumb threading by subject?
@@ -4266,7 +4276,7 @@
thrData->m_root = mail_thread
(
m_MailStream,
- (char *)threadingAlgo,
+ threadingAlgo,
NULL, // default charset
mail_newsearchpgm(), // thread all messages
SE_FREE
@@ -4439,7 +4449,7 @@
// date
MESSAGECACHE selt;
- mail_parse_date(&selt, (unsigned char *)env->date);
+ mail_parse_date(&selt, env->date);
entry.m_Date = (time_t) mail_longdate(&selt);
// from and to
@@ -4987,7 +4997,7 @@
if ( !gs_NewsSpoolDir )
{
gs_NewsSpoolDir = READ_APPCONFIG_TEXT(MP_NEWS_SPOOL_DIR);
- mail_parameters(NULL, SET_NEWSSPOOL, (char *)gs_NewsSpoolDir.c_str());
+ mail_parameters(NULL, SET_NEWSSPOOL, gs_NewsSpoolDir.char_str());
}
}
@@ -5358,8 +5368,8 @@
String spec = MailFolder::GetImapSpec(folder);
- return (subscribe ? mail_subscribe (NIL, (char *)spec.c_str())
- : mail_unsubscribe (NIL, (char *)spec.c_str())) != NIL;
+ return (subscribe ? mail_subscribe (NIL, spec.char_str())
+ : mail_unsubscribe (NIL, spec.char_str())) != NIL;
}
inline
@@ -5436,9 +5446,8 @@
(
m_MailStream,
NULL,
- (char *)
(spec + reference + (pattern.empty() ? String(_T("*"))
- : pattern)).c_str()
+ : pattern)).char_str()
);
// send event telling about end of listing:
@@ -5494,7 +5503,7 @@
spec += '}';
gs_delimiter = '\0';
- mail_list(m_MailStream, NULL, (char *)spec.c_str());
+ mail_list(m_MailStream, NULL, spec.char_str());
// well, except that in practice some IMAP servers do *not* return
// anything in reply to this command! try working around this bug
@@ -5503,7 +5512,7 @@
CHECK( m_MailStream, _T('\0'), _T("folder closed in
GetFolderDelimiter") );
spec += '%';
- mail_list(m_MailStream, NULL, (char *)spec.c_str());
+ mail_list(m_MailStream, NULL, spec.char_str());
}
// we must have got something!
@@ -5557,9 +5566,7 @@
}
// do rename
- if ( !mail_rename(NULL,
- (char *)spec.c_str(),
- (char *)specNew.c_str()) )
+ if ( !mail_rename(NULL, spec.char_str(), specNew.char_str()) )
{
wxLogError(_("Failed to rename the mailbox for folder '%s' "
"from '%s' to '%s'."),
@@ -5653,7 +5660,7 @@
// now mark them all as deleted (we don't need notifications about the
// status change so save a *lot* of bandwidth by using ST_SILENT)
- mail_flag(stream, (char *)seq.c_str(), "\\DELETED", ST_SET | ST_SILENT);
+ mail_flag(stream, seq.char_str(), "\\DELETED", ST_SET | ST_SILENT);
// and expunge
if ( mf )
@@ -5709,7 +5716,7 @@
wxLogTrace(TRACE_MF_CALLS,
_T("MailFolderCC::DeleteFolder(%s)"), mboxpath.c_str());
- return mail_delete(NIL, (char *) mboxpath.c_str()) != NIL;
+ return mail_delete(NIL, mboxpath.char_str()) != NIL;
}
// ----------------------------------------------------------------------------
@@ -5761,7 +5768,7 @@
if ( stream != NIL )
{
MMListRedirector redirect(HasInferiorsMMList);
- mail_list (stream, NULL, (char *) imapSpec.c_str());
+ mail_list (stream, NULL, imapSpec.char_str());
/* This does happen for for folders where the server does not know
if they have inferiors, i.e. if they don't exist yet.
@@ -6112,7 +6119,7 @@
{
const String spec = MailFolder::GetImapSpec(folder);
- if ( !mail_valid_net_parse((char *)spec.c_str(), netmbx) )
+ if ( !mail_valid_net_parse(spec.char_str(), netmbx) )
{
FAIL_MSG( _T("invalid remote folder spec in ServerInfoEntryCC?") );
Modified: trunk/M/src/mail/Pop3.cpp
===================================================================
--- trunk/M/src/mail/Pop3.cpp 2007-04-03 13:43:17 UTC (rev 7229)
+++ trunk/M/src/mail/Pop3.cpp 2007-04-03 13:43:51 UTC (rev 7230)
@@ -148,7 +148,8 @@
{
int flags;
bool ok = wxSscanf(file[n], _T("%s %d"),
- wxStringBuffer(uidl, file[n].length()), &flags) == 2;
+ (wxChar *)wxStringBuffer(uidl, file[n].length()),
+ &flags) == 2;
if ( !ok )
{
Modified: trunk/M/src/mail/SendMessageCC.cpp
===================================================================
--- trunk/M/src/mail/SendMessageCC.cpp 2007-04-03 13:43:17 UTC (rev 7229)
+++ trunk/M/src/mail/SendMessageCC.cpp 2007-04-03 13:43:51 UTC (rev 7230)
@@ -1477,7 +1477,7 @@
bdy = &(m_NextPart->body);
bdy->type = type;
- bdy->subtype = cpystr((char *)subtype.c_str());
+ bdy->subtype = cpystr(subtype.c_str());
bdy->contents.text.data = data;
bdy->contents.text.size = len;
@@ -1843,7 +1843,7 @@
// prepare the hostlist for c-client: we use only one server
char *hostlist[2];
- hostlist[0] = (char *)server.c_str();
+ hostlist[0] = server.char_str();
hostlist[1] = NIL;
// preview message being sent if asked for it
Modified: trunk/M/src/mail/ThreadJWZ.cpp
===================================================================
--- trunk/M/src/mail/ThreadJWZ.cpp 2007-04-03 13:43:17 UTC (rev 7229)
+++ trunk/M/src/mail/ThreadJWZ.cpp 2007-04-03 13:43:51 UTC (rev 7230)
@@ -1115,7 +1115,7 @@
ThreadContainer *Threader::lookUp(HASHTAB *hTable, const String &s) const
{
- void** data = hash_lookup(hTable, (char*) s.c_str());
+ void** data = hash_lookup(hTable, s.char_str());
if (data != 0)
return (ThreadContainer*)data[0];
else
Modified: trunk/M/src/modules/viewflt/Rot13.cpp
===================================================================
--- trunk/M/src/modules/viewflt/Rot13.cpp 2007-04-03 13:43:17 UTC (rev
7229)
+++ trunk/M/src/modules/viewflt/Rot13.cpp 2007-04-03 13:43:51 UTC (rev
7230)
@@ -63,19 +63,23 @@
MessageViewer *viewer,
MTextStyle& style)
{
- for ( char *pc = (char *)text.c_str(); *pc; pc++ )
+ for ( String::iterator i = text.begin(),
+ end = text.end();
+ i != end;
+ ++i )
{
// don't use locale-dependent version isalpha() here
+ const wxChar ch = *i;
char base;
- if ( *pc >= 'a' && *pc <= 'z' )
+ if ( ch >= 'a' && ch <= 'z' )
base = 'a';
- else if ( *pc >= 'A' && *pc <= 'Z' )
+ else if ( ch >= 'A' && ch <= 'Z' )
base = 'A';
else
continue;
// apply ROT 13 algorithm: shift all letters by 13 positions mod 26
- *pc = base + ((*pc - base) + 13) % 26;
+ *i = base + ((ch - base) + 13) % 26;
}
m_next->Process(text, viewer, style);
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Mahogany-cvsupdates mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mahogany-cvsupdates