mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-02-15 04:32:24 +00:00
dtmail: Further Coverity fixes
This commit is contained in:
parent
9088d6b54e
commit
3cf92f3741
26 changed files with 113 additions and 87 deletions
|
@ -110,6 +110,7 @@ MainWindow::MainWindow( char *name, Boolean allowResize ) : UIComponent ( name )
|
||||||
_last_state = 0;
|
_last_state = 0;
|
||||||
_flash_owin = 0;
|
_flash_owin = 0;
|
||||||
_flash_iwin = 0;
|
_flash_iwin = 0;
|
||||||
|
_main = NULL;
|
||||||
memset(&_window_attributes, 0, sizeof(XWindowAttributes));
|
memset(&_window_attributes, 0, sizeof(XWindowAttributes));
|
||||||
|
|
||||||
assert ( theApplication != NULL ); // Application object must exist
|
assert ( theApplication != NULL ); // Application object must exist
|
||||||
|
|
|
@ -260,7 +260,7 @@ MenuBar::createPulldown (
|
||||||
}
|
}
|
||||||
|
|
||||||
XtManageChildren ( head_wl, num_wl );
|
XtManageChildren ( head_wl, num_wl );
|
||||||
delete head_wl;
|
delete [] head_wl;
|
||||||
|
|
||||||
return(pulldown);
|
return(pulldown);
|
||||||
}
|
}
|
||||||
|
|
|
@ -179,8 +179,10 @@ void AlternatesListUiItem::writeFromSourceToUi()
|
||||||
list_str = strdup("");
|
list_str = strdup("");
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((buf = (char *) malloc(strlen(list_str) + 1)) == NULL)
|
if ((buf = (char *) malloc(strlen(list_str) + 1)) == NULL) {
|
||||||
|
free((void *) list_str);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
strcpy(buf, (char *)list_str);
|
strcpy(buf, (char *)list_str);
|
||||||
|
|
||||||
if((token = (char *) strtok(buf, " ")))
|
if((token = (char *) strtok(buf, " ")))
|
||||||
|
|
|
@ -188,6 +188,10 @@ AttachArea::AttachArea (
|
||||||
_editCmdList = NULL;
|
_editCmdList = NULL;
|
||||||
_size_selected_label = NULL;
|
_size_selected_label = NULL;
|
||||||
_format_button = NULL;
|
_format_button = NULL;
|
||||||
|
_descriptionDialog = NULL;
|
||||||
|
_no_attachments_label = NULL;
|
||||||
|
_attachments_label = NULL;
|
||||||
|
_size_attachments_label = NULL;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -702,6 +706,9 @@ AttachArea::addAttachment(
|
||||||
|
|
||||||
if (read(fd, buffer, (unsigned int) s.st_size) < 0) {
|
if (read(fd, buffer, (unsigned int) s.st_size) < 0) {
|
||||||
SafeClose(fd);
|
SafeClose(fd);
|
||||||
|
delete [] buf;
|
||||||
|
delete [] buffer;
|
||||||
|
delete [] errormsg;
|
||||||
return(NULL);
|
return(NULL);
|
||||||
}
|
}
|
||||||
buffer[s.st_size] = 0;
|
buffer[s.st_size] = 0;
|
||||||
|
|
|
@ -92,10 +92,10 @@ void CheckBoxUiItem::writeFromSourceToUi()
|
||||||
//
|
//
|
||||||
// This assumes that a non-null value means that the
|
// This assumes that a non-null value means that the
|
||||||
// value is set and that a non-null means turn on the CB
|
// value is set and that a non-null means turn on the CB
|
||||||
if (strcmp(value, "") == 0)
|
if (NULL == value || strcmp(value, "f") == 0)
|
||||||
options_checkbox_set_value(w, TRUE, this->dirty_bit);
|
|
||||||
else if (NULL == value || strcmp(value, "f") == 0)
|
|
||||||
options_checkbox_set_value(w, FALSE, this->dirty_bit);
|
options_checkbox_set_value(w, FALSE, this->dirty_bit);
|
||||||
|
else if (strcmp(value, "") == 0)
|
||||||
|
options_checkbox_set_value(w, TRUE, this->dirty_bit);
|
||||||
|
|
||||||
free((void*) value);
|
free((void*) value);
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,6 +95,11 @@ DmxMsg::DmxMsg (void)
|
||||||
addlInfo = NULL;
|
addlInfo = NULL;
|
||||||
numBPs = 0;
|
numBPs = 0;
|
||||||
cachedValues = DTM_FALSE;
|
cachedValues = DTM_FALSE;
|
||||||
|
msgHandle = NULL;
|
||||||
|
msgHeader.header_values = 0;
|
||||||
|
msgHeader.number_of_names = 0;
|
||||||
|
bodyParts = NULL;
|
||||||
|
isNew = DTM_FALSE;
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -218,6 +218,11 @@ DmxPrintOptions::DmxPrintOptions (
|
||||||
_propui_array_iterator = 0;
|
_propui_array_iterator = 0;
|
||||||
_parent = parent;
|
_parent = parent;
|
||||||
_prop_source = NULL;
|
_prop_source = NULL;
|
||||||
|
_hdrftr_frame = NULL;
|
||||||
|
_margin_frame = NULL;
|
||||||
|
_msgsep_iom = NULL;
|
||||||
|
_prthdr_iom = NULL;
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Create form to hold the printing options
|
// Create form to hold the printing options
|
||||||
|
|
|
@ -116,7 +116,7 @@ DmxPrintSetup::DmxPrintSetup (
|
||||||
|
|
||||||
_filename = (char*) malloc(MAXPATHLEN+1);
|
_filename = (char*) malloc(MAXPATHLEN+1);
|
||||||
if (NULL != _filename)
|
if (NULL != _filename)
|
||||||
sprintf(_filename, "%s/dtmail_messages.ps", getenv("HOME"));
|
snprintf(_filename, MAXPATHLEN+1, "%s/dtmail_messages.ps", getenv("HOME"));
|
||||||
|
|
||||||
_printCB = printCB;
|
_printCB = printCB;
|
||||||
_cancelCB = cancelCB;
|
_cancelCB = cancelCB;
|
||||||
|
|
|
@ -254,10 +254,10 @@ Editor::set_message(DtMail::Message * msg,
|
||||||
}
|
}
|
||||||
bp->unlockContents(error);
|
bp->unlockContents(error);
|
||||||
firstBPHandled = DTM_TRUE;
|
firstBPHandled = DTM_TRUE;
|
||||||
if (attr) {
|
}
|
||||||
DtDtsFreeAttributeValue(attr);
|
if (attr) {
|
||||||
attr = NULL;
|
DtDtsFreeAttributeValue(attr);
|
||||||
}
|
attr = NULL;
|
||||||
}
|
}
|
||||||
free(type);
|
free(type);
|
||||||
|
|
||||||
|
@ -424,8 +424,7 @@ Editor::update_display_from_props(void)
|
||||||
value = strdup("24");
|
value = strdup("24");
|
||||||
}
|
}
|
||||||
rows = (int) strtol(value, NULL, 10);
|
rows = (int) strtol(value, NULL, 10);
|
||||||
if (NULL != value)
|
free((void*) value);
|
||||||
free((void*) value);
|
|
||||||
set_rows(rows);
|
set_rows(rows);
|
||||||
|
|
||||||
// If toolcols is set, overwrite the column width with "toolcols" value.
|
// If toolcols is set, overwrite the column width with "toolcols" value.
|
||||||
|
|
|
@ -2436,7 +2436,7 @@ MsgScrollingList::updateListItems(int current,
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"dtmail: getMessageSummary: Couldn't get summary for msg # %d\n", m);
|
"dtmail: getMessageSummary: Couldn't get summary for msg # %d\n", m);
|
||||||
|
|
||||||
if ((msg == NULL) || (mbox == NULL))
|
if (msg == NULL)
|
||||||
{
|
{
|
||||||
// Error
|
// Error
|
||||||
;
|
;
|
||||||
|
|
|
@ -161,7 +161,7 @@ OptCmd::OptCmd ( char *name, char *label, int active, Widget parent) :
|
||||||
generalDialog = NULL;
|
generalDialog = NULL;
|
||||||
_PrintingOptions = NULL;
|
_PrintingOptions = NULL;
|
||||||
_MailRetrievalOptions = NULL;
|
_MailRetrievalOptions = NULL;
|
||||||
|
printing_pane_list = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -511,7 +511,7 @@ static char *tooltalk_save_buffer_to_file(
|
||||||
char *tmpdir = new char[MAXPATHLEN+1];
|
char *tmpdir = new char[MAXPATHLEN+1];
|
||||||
|
|
||||||
// 1. Get buffer content into file.
|
// 1. Get buffer content into file.
|
||||||
sprintf(tmpdir, "%s/%s", getenv("HOME"), DtPERSONAL_TMP_DIRECTORY);
|
snprintf(tmpdir, MAXPATHLEN+1, "%s/%s", getenv("HOME"), DtPERSONAL_TMP_DIRECTORY);
|
||||||
p = tempnam(tmpdir, "mail");
|
p = tempnam(tmpdir, "mail");
|
||||||
if (p == NULL)
|
if (p == NULL)
|
||||||
{
|
{
|
||||||
|
|
|
@ -540,7 +540,7 @@ ConvertContainerCmd::post_dialog()
|
||||||
|
|
||||||
char * buf = new char[25];
|
char * buf = new char[25];
|
||||||
|
|
||||||
sprintf(buf, "Converted: %3d%", 0);
|
sprintf(buf, "Converted: %3d%%", 0);
|
||||||
|
|
||||||
_dialog->post ("Mailer",
|
_dialog->post ("Mailer",
|
||||||
buf,
|
buf,
|
||||||
|
@ -1660,7 +1660,7 @@ MoveCopyCmd::fileSelectedCallback2 (
|
||||||
// If a string was successfully extracted, call
|
// If a string was successfully extracted, call
|
||||||
// unifiedMailboxSelected to handle the file.
|
// unifiedMailboxSelected to handle the file.
|
||||||
*selected = '\0';
|
*selected = '\0';
|
||||||
if (NULL != dname) strcat(selected, dname);
|
if (NULL != dname) snprintf(selected, sizeof(selected), "%s", dname);
|
||||||
strcat(selected, fname);
|
strcat(selected, fname);
|
||||||
obj->updateUnifiedData();
|
obj->updateUnifiedData();
|
||||||
obj->unifiedMailboxSelected(
|
obj->unifiedMailboxSelected(
|
||||||
|
@ -1852,7 +1852,7 @@ PrintCmd::printit( int silent )
|
||||||
DebugPrintf(1, "%s: printit\n", name());
|
DebugPrintf(1, "%s: printit\n", name());
|
||||||
|
|
||||||
// Create tmp file.
|
// Create tmp file.
|
||||||
sprintf(tmpdir, "%s/%s", getenv("HOME"), DtPERSONAL_TMP_DIRECTORY);
|
snprintf(tmpdir, MAXPATHLEN+1, "%s/%s", getenv("HOME"), DtPERSONAL_TMP_DIRECTORY);
|
||||||
if ((p = tempnam(tmpdir, "dtmail")) == NULL) {
|
if ((p = tempnam(tmpdir, "dtmail")) == NULL) {
|
||||||
delete [] tmpdir;
|
delete [] tmpdir;
|
||||||
return;
|
return;
|
||||||
|
@ -2471,9 +2471,9 @@ SaveAsTextCmd::writeTextFromScrolledList(int fd)
|
||||||
// Create temp file.
|
// Create temp file.
|
||||||
//
|
//
|
||||||
char *tmpdir = new char[MAXPATHLEN+1];
|
char *tmpdir = new char[MAXPATHLEN+1];
|
||||||
sprintf(tmpdir, "%s/%s", getenv("HOME"), DtPERSONAL_TMP_DIRECTORY);
|
snprintf(tmpdir, MAXPATHLEN+1, "%s/%s", getenv("HOME"), DtPERSONAL_TMP_DIRECTORY);
|
||||||
if ((tmppath = tempnam(tmpdir, "dtmail")) == NULL) {
|
if ((tmppath = tempnam(tmpdir, "dtmail")) == NULL) {
|
||||||
sprintf(buf, GETMSG(DT_catd, 3, 51, "Unable to create %s."), tmpdir);
|
snprintf(buf, sizeof(buf), GETMSG(DT_catd, 3, 51, "Unable to create %s."), tmpdir);
|
||||||
_genDialog->setToErrorDialog(GETMSG(DT_catd, 3, 52, "Mailer"), buf);
|
_genDialog->setToErrorDialog(GETMSG(DT_catd, 3, 52, "Mailer"), buf);
|
||||||
helpId = DTMAILHELPNOCREATE;
|
helpId = DTMAILHELPNOCREATE;
|
||||||
_genDialog->post_and_return(helpId);
|
_genDialog->post_and_return(helpId);
|
||||||
|
@ -3393,7 +3393,7 @@ VacationCmd::stopVacation()
|
||||||
{
|
{
|
||||||
char *forwardfile = new char[MAXPATHLEN+1];
|
char *forwardfile = new char[MAXPATHLEN+1];
|
||||||
|
|
||||||
sprintf(forwardfile, "%s/%s", getenv("HOME"), _forwardFile);
|
snprintf(forwardfile, MAXPATHLEN+1, "%s/%s", getenv("HOME"), _forwardFile);
|
||||||
|
|
||||||
// Remove the current .forward file (it has vacation in it)
|
// Remove the current .forward file (it has vacation in it)
|
||||||
// Recover and replace the original backup forward file, if
|
// Recover and replace the original backup forward file, if
|
||||||
|
@ -3414,7 +3414,7 @@ VacationCmd::priorVacationRunning()
|
||||||
Boolean retval = FALSE;
|
Boolean retval = FALSE;
|
||||||
char *forwardfile = new char[MAXPATHLEN+1];
|
char *forwardfile = new char[MAXPATHLEN+1];
|
||||||
|
|
||||||
sprintf(forwardfile, "%s/%s", getenv("HOME"), _forwardFile);
|
snprintf(forwardfile, MAXPATHLEN+1, "%s/%s", getenv("HOME"), _forwardFile);
|
||||||
|
|
||||||
if (SafeAccess(forwardfile, F_OK) != 0) {
|
if (SafeAccess(forwardfile, F_OK) != 0) {
|
||||||
delete [] forwardfile;
|
delete [] forwardfile;
|
||||||
|
@ -3732,6 +3732,7 @@ VacationCmd::handleForwardFile()
|
||||||
delete [] messagefile;
|
delete [] messagefile;
|
||||||
delete [] error_buf;
|
delete [] error_buf;
|
||||||
delete [] forwardfile;
|
delete [] forwardfile;
|
||||||
|
SafeClose(bkup_fd);
|
||||||
SafeClose(fwd_fd);
|
SafeClose(fwd_fd);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -3754,6 +3755,7 @@ VacationCmd::handleForwardFile()
|
||||||
strlen(append_buf2)) {
|
strlen(append_buf2)) {
|
||||||
// error
|
// error
|
||||||
SafeClose(bkup_fd);
|
SafeClose(bkup_fd);
|
||||||
|
SafeClose(fwd_fd);
|
||||||
delete [] buf;
|
delete [] buf;
|
||||||
delete [] messagefile;
|
delete [] messagefile;
|
||||||
delete [] error_buf;
|
delete [] error_buf;
|
||||||
|
@ -3831,7 +3833,7 @@ VacationCmd::recoverForwardFile(
|
||||||
return(-1);
|
return(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((fd = SafeOpen(file, O_RDONLY)) == 0) {
|
if ((fd = SafeOpen(file, O_RDONLY)) == -1) {
|
||||||
delete [] buf;
|
delete [] buf;
|
||||||
return(-1);
|
return(-1);
|
||||||
}
|
}
|
||||||
|
@ -3935,8 +3937,10 @@ VacationCmd::parseVacationMessage()
|
||||||
size_t map_size = (int) (buf.st_size +
|
size_t map_size = (int) (buf.st_size +
|
||||||
(page_size - (buf.st_size % page_size)));
|
(page_size - (buf.st_size % page_size)));
|
||||||
|
|
||||||
if (buf.st_size == 0)
|
if (buf.st_size == 0) {
|
||||||
|
SafeClose(fd);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
int free_buf = 0;
|
int free_buf = 0;
|
||||||
mbuf.size = buf.st_size;
|
mbuf.size = buf.st_size;
|
||||||
|
|
|
@ -465,7 +465,7 @@ RoamMenuWindow::RoamMenuWindow (char *name) : MenuWindow ("dtmail", True)
|
||||||
_last_sorted_by = (SortBy) atoi(value);
|
_last_sorted_by = (SortBy) atoi(value);
|
||||||
|
|
||||||
free((void*) value);
|
free((void*) value);
|
||||||
if (NULL != buffer) XtFree(buffer);
|
XtFree(buffer);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4248,6 +4248,8 @@ RoamMenuWindow::syncViewAndStoreCallback(
|
||||||
RoamMenuWindow * rmw = (RoamMenuWindow *)client_data;
|
RoamMenuWindow * rmw = (RoamMenuWindow *)client_data;
|
||||||
|
|
||||||
bval = rmw->syncViewAndStore(op, path, args);
|
bval = rmw->syncViewAndStore(op, path, args);
|
||||||
|
|
||||||
|
va_end(args);
|
||||||
return(bval);
|
return(bval);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5113,7 +5115,7 @@ RoamMenuWindow::inList(char *filename, DtVirtArray<ContainerMenuCmd *> *list)
|
||||||
for (int i=0; i < list->length(); i++)
|
for (int i=0; i < list->length(); i++)
|
||||||
{
|
{
|
||||||
cmd = (*list)[i];
|
cmd = (*list)[i];
|
||||||
if (strcmp(filename, cmd->containerName()) == 0)
|
if (filename && strcmp(filename, cmd->containerName()) == 0)
|
||||||
return(i);
|
return(i);
|
||||||
}
|
}
|
||||||
return(-1);
|
return(-1);
|
||||||
|
|
|
@ -461,7 +461,7 @@ SendMsgDialog::updateMsgHnd()
|
||||||
{
|
{
|
||||||
DtMailEnv error;
|
DtMailEnv error;
|
||||||
DtMail::Envelope * env;
|
DtMail::Envelope * env;
|
||||||
int textLen;
|
int textLen = 0;
|
||||||
|
|
||||||
env = _msgHandle->getEnvelope(error);
|
env = _msgHandle->getEnvelope(error);
|
||||||
storeHeaders();
|
storeHeaders();
|
||||||
|
@ -472,9 +472,9 @@ SendMsgDialog::updateMsgHnd()
|
||||||
XtFree(widget_text);
|
XtFree(widget_text);
|
||||||
widget_text = NULL;
|
widget_text = NULL;
|
||||||
}
|
}
|
||||||
else
|
else if(widget_text) {
|
||||||
textLen = strlen(widget_text);
|
textLen = strlen(widget_text);
|
||||||
|
}
|
||||||
// Even if textlen is 0 because user has cleared all previous text,
|
// Even if textlen is 0 because user has cleared all previous text,
|
||||||
// need to setContents again to clear first BP. Otherwise, deleted
|
// need to setContents again to clear first BP. Otherwise, deleted
|
||||||
// text will show up.
|
// text will show up.
|
||||||
|
@ -3150,7 +3150,7 @@ SendMsgDialog::parseNplace(const char * path)
|
||||||
|
|
||||||
if (SafeRead(fd, _dead_letter_buf,
|
if (SafeRead(fd, _dead_letter_buf,
|
||||||
(unsigned int) buf.st_size) != buf.st_size) {
|
(unsigned int) buf.st_size) != buf.st_size) {
|
||||||
delete _dead_letter_buf;
|
delete [] _dead_letter_buf;
|
||||||
close(fd);
|
close(fd);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -355,7 +355,7 @@ Sort::sortMessages(MsgScrollingList *displayList,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Now cleanup.
|
// Now cleanup.
|
||||||
delete messages;
|
delete [] messages;
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -3054,11 +3054,10 @@ determine_exe_dir(
|
||||||
if (path_prefix != NULL)
|
if (path_prefix != NULL)
|
||||||
{
|
{
|
||||||
char *abs_exe_dir = new char[MAXPATHLEN+1];
|
char *abs_exe_dir = new char[MAXPATHLEN+1];
|
||||||
strcpy(abs_exe_dir, path_prefix);
|
if (strcmp(buf, ".") != 0) {
|
||||||
if (strcmp(buf, ".") != 0)
|
snprintf(abs_exe_dir, MAXPATHLEN+1, "%s/%s", path_prefix, buf);
|
||||||
{
|
} else {
|
||||||
strcat(abs_exe_dir, "/");
|
snprintf(abs_exe_dir, MAXPATHLEN+1, "%s", path_prefix);
|
||||||
strcat(abs_exe_dir, buf);
|
|
||||||
}
|
}
|
||||||
strcpy(buf, abs_exe_dir);
|
strcpy(buf, abs_exe_dir);
|
||||||
delete [] abs_exe_dir;
|
delete [] abs_exe_dir;
|
||||||
|
|
|
@ -140,6 +140,7 @@ formatHeader (DtMailHeaderLine &info, enum DmxHeaderType htype)
|
||||||
break;
|
break;
|
||||||
case NUMHDRTYPES:
|
case NUMHDRTYPES:
|
||||||
default:
|
default:
|
||||||
|
delete [] fbuf;
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
return (fbuf); //need to free this after using it
|
return (fbuf); //need to free this after using it
|
||||||
|
|
|
@ -464,7 +464,7 @@ class DtMail {
|
||||||
void freerawlist(char **argv);
|
void freerawlist(char **argv);
|
||||||
char *mt_value(char name[]);
|
char *mt_value(char name[]);
|
||||||
char *expand(char *);
|
char *expand(char *);
|
||||||
int getfolderdir(char *);
|
int getfolderdir(char *, size_t);
|
||||||
static int hash(char *name);
|
static int hash(char *name);
|
||||||
static void vfree(char *cp);
|
static void vfree(char *cp);
|
||||||
|
|
||||||
|
|
|
@ -237,6 +237,8 @@ BufferMemory::iterate(Buffer::CallBack callback, ...)
|
||||||
if (ret) break;
|
if (ret) break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
va_end(va);
|
||||||
|
|
||||||
return (ret);
|
return (ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1986,16 +1986,16 @@ void DtMail::MailRc::add_alternates(char *name)
|
||||||
* Determine the current folder directory name.
|
* Determine the current folder directory name.
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
DtMail::MailRc::getfolderdir(char *name)
|
DtMail::MailRc::getfolderdir(char *name, size_t buffsize)
|
||||||
{
|
{
|
||||||
char *folder;
|
char *folder;
|
||||||
|
|
||||||
if ((folder = mt_value("folder")) == NOSTR)
|
if ((folder = mt_value("folder")) == NOSTR)
|
||||||
return(-1);
|
return(-1);
|
||||||
if (*folder == '/')
|
if (*folder == '/')
|
||||||
strcpy(name, folder);
|
snprintf(name, buffsize, "%s", folder);
|
||||||
else
|
else
|
||||||
sprintf(name, "%s/%s", mt_value("HOME"), folder);
|
snprintf(name, buffsize, "%s/%s", mt_value("HOME"), folder);
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2017,7 +2017,7 @@ DtMail::MailRc::expand(char *name)
|
||||||
struct stat sbuf;
|
struct stat sbuf;
|
||||||
char *retchr = NULL;
|
char *retchr = NULL;
|
||||||
|
|
||||||
if (name[0] == '+' && getfolderdir(cmdbuf) >= 0) {
|
if (name[0] == '+' && getfolderdir(cmdbuf, LINESIZE) >= 0) {
|
||||||
sprintf(xname, "%s/%s", cmdbuf, name + 1);
|
sprintf(xname, "%s/%s", cmdbuf, name + 1);
|
||||||
str = expand(xname);
|
str = expand(xname);
|
||||||
delete [] xname;
|
delete [] xname;
|
||||||
|
|
|
@ -486,8 +486,9 @@ POP3Server::uidlist_read(DtVirtArray<char*> *uidlist)
|
||||||
while (NULL != fgets(uidliststr, DTMAS_POPBUFSIZE, fp))
|
while (NULL != fgets(uidliststr, DTMAS_POPBUFSIZE, fp))
|
||||||
if (sscanf(uidliststr, "%d %s", &curmsg, curuidstr) == 2)
|
if (sscanf(uidliststr, "%d %s", &curmsg, curuidstr) == 2)
|
||||||
uidlist->append(strdup(uidliststr));
|
uidlist->append(strdup(uidliststr));
|
||||||
|
|
||||||
|
fclose(fp);
|
||||||
}
|
}
|
||||||
fclose(fp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -506,7 +507,6 @@ POP3Server::uidlist_write(DtVirtArray<char*> *uidlist)
|
||||||
uidliststr = (*uidlist)[i];
|
uidliststr = (*uidlist)[i];
|
||||||
fprintf(fp, "%s\n", uidliststr);
|
fprintf(fp, "%s\n", uidliststr);
|
||||||
}
|
}
|
||||||
|
fclose(fp);
|
||||||
}
|
}
|
||||||
fclose(fp);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -267,24 +267,24 @@ MIMEBodyPart::getContentType(DtMailEnv &error, char **mime_type)
|
||||||
{
|
{
|
||||||
DtMailValueSeq value;
|
DtMailValueSeq value;
|
||||||
|
|
||||||
if (mime_type)
|
if (mime_type) {
|
||||||
*mime_type = (char *)0;
|
*mime_type = (char *)0;
|
||||||
|
|
||||||
if (_body_env)
|
if (_body_env) {
|
||||||
_body_env->getHeader(error, "Content-Type", DTM_FALSE, value);
|
_body_env->getHeader(error, "Content-Type", DTM_FALSE, value);
|
||||||
|
}
|
||||||
|
|
||||||
if (_body_env && !error.isSet())
|
if (_body_env && !error.isSet()) {
|
||||||
{
|
// Handle "Content-Type: text" problem with /usr/lib/mail.local
|
||||||
// Handle "Content-Type: text" problem with /usr/lib/mail.local
|
if (strcasecmp(*(value[0]), "text")==0) {
|
||||||
if (strcasecmp(*(value[0]), "text")==0)
|
*mime_type = strdup("text/plain");
|
||||||
*mime_type = strdup("text/plain");
|
} else {
|
||||||
else
|
*mime_type = strdup(*(value[0]));
|
||||||
*mime_type = strdup(*(value[0]));
|
}
|
||||||
}
|
} else {
|
||||||
else
|
error.clear();
|
||||||
{
|
*mime_type = strdup("text/plain");
|
||||||
error.clear();
|
}
|
||||||
*mime_type = strdup("text/plain");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -168,7 +168,7 @@ extern "C" ssize_t pread(int, void *, size_t, off_t);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define GET_DUMPFILE_NAME(dfn) \
|
#define GET_DUMPFILE_NAME(dfn) \
|
||||||
sprintf(dfn, "%s/%s/dtmail.dump", getenv("HOME"), DtPERSONAL_TMP_DIRECTORY)
|
snprintf(dfn, sizeof(dfn), "%s/%s/dtmail.dump", getenv("HOME"), DtPERSONAL_TMP_DIRECTORY)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Local Data Definitions
|
* Local Data Definitions
|
||||||
|
@ -216,7 +216,7 @@ void HexDump(FILE *pfp, char *pmsg, unsigned char *pbufr, int plen, int plimit)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (pfp_r == (FILE*) NULL) {
|
if (pfp_r == (FILE*) NULL) {
|
||||||
char *dumpfilename = new char [MAXPATHLEN+1];
|
char dumpfilename[MAXPATHLEN+1];
|
||||||
_Xctimeparams ctime_buf;
|
_Xctimeparams ctime_buf;
|
||||||
|
|
||||||
GET_DUMPFILE_NAME(dumpfilename);
|
GET_DUMPFILE_NAME(dumpfilename);
|
||||||
|
@ -225,7 +225,6 @@ void HexDump(FILE *pfp, char *pmsg, unsigned char *pbufr, int plen, int plimit)
|
||||||
memset((void*) &ctime_buf, 0, sizeof(_Xctimeparams));
|
memset((void*) &ctime_buf, 0, sizeof(_Xctimeparams));
|
||||||
fprintf(pfp_r, "--------------------- pid=%ld %s",
|
fprintf(pfp_r, "--------------------- pid=%ld %s",
|
||||||
(long)getpid(), _XCtime(&clockTime, ctime_buf));
|
(long)getpid(), _XCtime(&clockTime, ctime_buf));
|
||||||
delete [] dumpfilename;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
(void) fprintf(pfp_r, "--> %s (%d bytes at %p):\n", pmsg, plen, pbufr);
|
(void) fprintf(pfp_r, "--> %s (%d bytes at %p):\n", pmsg, plen, pbufr);
|
||||||
|
@ -2042,6 +2041,9 @@ RFCMailBox::mapFile(DtMailEnv & error,
|
||||||
}
|
}
|
||||||
error.setError(DTME_NoMemory);
|
error.setError(DTME_NoMemory);
|
||||||
delete map;
|
delete map;
|
||||||
|
#if !defined(DO_ANONYMOUS_MAP)
|
||||||
|
SafeClose(fd);
|
||||||
|
#endif
|
||||||
return(-1);
|
return(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4506,7 +4508,7 @@ void
|
||||||
RFCMailBox::writeToDumpFile(const char *format, ...)
|
RFCMailBox::writeToDumpFile(const char *format, ...)
|
||||||
{
|
{
|
||||||
DtMailEnv error;
|
DtMailEnv error;
|
||||||
char *dumpfilename = new char[MAXPATHLEN+1];
|
char dumpfilename[MAXPATHLEN+1];
|
||||||
_Xctimeparams ctime_buf;
|
_Xctimeparams ctime_buf;
|
||||||
|
|
||||||
GET_DUMPFILE_NAME(dumpfilename);
|
GET_DUMPFILE_NAME(dumpfilename);
|
||||||
|
@ -4525,7 +4527,6 @@ RFCMailBox::writeToDumpFile(const char *format, ...)
|
||||||
fprintf(df, "---------------------\n");
|
fprintf(df, "---------------------\n");
|
||||||
fprintf(df, "\n\n");
|
fprintf(df, "\n\n");
|
||||||
|
|
||||||
delete [] dumpfilename;
|
|
||||||
fclose(df);
|
fclose(df);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4558,7 +4559,7 @@ RFCMailBox::dumpMaps(const char *str)
|
||||||
DtMailEnv error;
|
DtMailEnv error;
|
||||||
off_t total_file_size = 0;
|
off_t total_file_size = 0;
|
||||||
struct sigaction sig_act, old_sig_act;
|
struct sigaction sig_act, old_sig_act;
|
||||||
char *dumpfilename = new char[MAXPATHLEN+1];
|
char dumpfilename[MAXPATHLEN+1];
|
||||||
|
|
||||||
GET_DUMPFILE_NAME(dumpfilename);
|
GET_DUMPFILE_NAME(dumpfilename);
|
||||||
FILE *df = fopen(dumpfilename, "a");
|
FILE *df = fopen(dumpfilename, "a");
|
||||||
|
@ -4567,7 +4568,6 @@ RFCMailBox::dumpMaps(const char *str)
|
||||||
error.logError(
|
error.logError(
|
||||||
DTM_FALSE,
|
DTM_FALSE,
|
||||||
"dumpMaps(): Cant open dump file %s\n", dumpfilename);
|
"dumpMaps(): Cant open dump file %s\n", dumpfilename);
|
||||||
delete [] dumpfilename;
|
|
||||||
|
|
||||||
if (SafeFStat(_fd, &buf) < 0) {
|
if (SafeFStat(_fd, &buf) < 0) {
|
||||||
fprintf(df, "dumpMaps(): fstat(%d) failed errno=%d\n", _fd, errno);
|
fprintf(df, "dumpMaps(): fstat(%d) failed errno=%d\n", _fd, errno);
|
||||||
|
|
|
@ -153,7 +153,7 @@ decode1522(const char * enc_start, const char * max_end, char **output, DtMail::
|
||||||
|
|
||||||
default:
|
default:
|
||||||
// Invalid encoding. Assume a false match.
|
// Invalid encoding. Assume a false match.
|
||||||
if (cs_name != NULL) free(cs_name);
|
free(cs_name);
|
||||||
return (enc_start);
|
return (enc_start);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -346,24 +346,23 @@ V3BodyPart::getContentType(DtMailEnv &error, char **v3_type)
|
||||||
MutexLock dt_lib_lock(_DtMutex);
|
MutexLock dt_lib_lock(_DtMutex);
|
||||||
DtMailValueSeq value;
|
DtMailValueSeq value;
|
||||||
|
|
||||||
if (v3_type)
|
if (v3_type) {
|
||||||
*v3_type = (char *)0;
|
*v3_type = (char *)0;
|
||||||
|
|
||||||
_body_env->getHeader(error, "Content-Type", DTM_FALSE, value);
|
_body_env->getHeader(error, "Content-Type", DTM_FALSE, value);
|
||||||
if (error.isNotSet())
|
if (error.isNotSet()) {
|
||||||
*v3_type = strdup(*(value[0]));
|
*v3_type = strdup(*(value[0]));
|
||||||
else
|
} else {
|
||||||
{
|
error.clear();
|
||||||
error.clear();
|
value.clear();
|
||||||
value.clear();
|
_body_env->getHeader(error, "X-Sun-Data-Type", DTM_FALSE, value);
|
||||||
_body_env->getHeader(error, "X-Sun-Data-Type", DTM_FALSE, value);
|
if (error.isNotSet()) {
|
||||||
if (error.isNotSet())
|
*v3_type = strdup(*(value[0]));
|
||||||
*v3_type = strdup(*(value[0]));
|
} else {
|
||||||
else
|
error.clear();
|
||||||
{
|
*v3_type = strdup("text");
|
||||||
error.clear();
|
}
|
||||||
*v3_type = strdup("text");
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue