1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-03-09 15:50:02 +00:00

Current state of my dtmail work.

Mostly #ifdefs and casts; also, do not redefine strcasestr().  This will
probably be needed for Linux too when compiling without -fpermissive.
This commit is contained in:
Pascal Stumpf 2012-08-11 13:57:26 +02:00 committed by Jon Trulson
parent 7c3a972d32
commit e3ad7e24e3
23 changed files with 75 additions and 57 deletions

View file

@ -69,7 +69,7 @@
#include <Xm/MessageB.h> #include <Xm/MessageB.h>
#include <assert.h> #include <assert.h>
#if !defined(linux) #if !defined(linux) && !defined(CSRG_BASED)
extern forceUpdate( Widget ); extern forceUpdate( Widget );
#endif #endif

View file

@ -150,7 +150,7 @@ MainWindow::initialize( )
/* install callback */ /* install callback */
// XtAddCallback(_main, XmNhelpCallback, HelpCB, helpId); // XtAddCallback(_main, XmNhelpCallback, HelpCB, helpId);
XtAddCallback(_main, XmNhelpCallback, XtAddCallback(_main, XmNhelpCallback,
HelpCB, "_HOMETOPIC"); HelpCB, (void *)"_HOMETOPIC");
// Called derived class to create the work area // Called derived class to create the work area

View file

@ -191,22 +191,22 @@ MenuBar::createPulldown (
helpId = XtName(*cascade); helpId = XtName(*cascade);
if (helpId == "Mailbox") { if (helpId == "Mailbox") {
XtAddCallback(*cascade, XmNhelpCallback, XtAddCallback(*cascade, XmNhelpCallback,
HelpCB, DTMAILCONTAINERMENUID); HelpCB, (void *)DTMAILCONTAINERMENUID);
} else if (helpId == "Edit") { } else if (helpId == "Edit") {
XtAddCallback(*cascade, XmNhelpCallback, XtAddCallback(*cascade, XmNhelpCallback,
HelpCB, DTMAILEDITMENUID); HelpCB, (void *)DTMAILEDITMENUID);
} else if (helpId == "Message") { } else if (helpId == "Message") {
XtAddCallback(*cascade, XmNhelpCallback, XtAddCallback(*cascade, XmNhelpCallback,
HelpCB, DTMAILMESSAGEMENUID); HelpCB, (void *)DTMAILMESSAGEMENUID);
} else if (helpId == "Attachments") { } else if (helpId == "Attachments") {
XtAddCallback(*cascade, XmNhelpCallback, XtAddCallback(*cascade, XmNhelpCallback,
HelpCB, DTMAILATTACHMENUID); HelpCB, (void *)DTMAILATTACHMENUID);
} else if (helpId == "View") { } else if (helpId == "View") {
XtAddCallback(*cascade, XmNhelpCallback, XtAddCallback(*cascade, XmNhelpCallback,
HelpCB, DTMAILVIEWMENUID); HelpCB, (void *)DTMAILVIEWMENUID);
} else if (helpId == "Compose") { } else if (helpId == "Compose") {
XtAddCallback(*cascade, XmNhelpCallback, XtAddCallback(*cascade, XmNhelpCallback,
HelpCB, DTMAILCOMPOSEMENUID); HelpCB, (void *)DTMAILCOMPOSEMENUID);
} }
} }
} else } else
@ -323,22 +323,22 @@ MenuBar::createPulldown (
helpId = XtName(cascade); helpId = XtName(cascade);
if (helpId == "Mailbox") { if (helpId == "Mailbox") {
XtAddCallback(cascade, XmNhelpCallback, XtAddCallback(cascade, XmNhelpCallback,
HelpCB, DTMAILCONTAINERMENUID); HelpCB, (void *)DTMAILCONTAINERMENUID);
} else if (helpId == "Edit") { } else if (helpId == "Edit") {
XtAddCallback(cascade, XmNhelpCallback, XtAddCallback(cascade, XmNhelpCallback,
HelpCB, DTMAILEDITMENUID); HelpCB, (void *)DTMAILEDITMENUID);
} else if (helpId == "Message") { } else if (helpId == "Message") {
XtAddCallback(cascade, XmNhelpCallback, XtAddCallback(cascade, XmNhelpCallback,
HelpCB, DTMAILMESSAGEMENUID); HelpCB, (void *)DTMAILMESSAGEMENUID);
} else if (helpId == "Attachments") { } else if (helpId == "Attachments") {
XtAddCallback(cascade, XmNhelpCallback, XtAddCallback(cascade, XmNhelpCallback,
HelpCB, DTMAILATTACHMENUID); HelpCB, (void *)DTMAILATTACHMENUID);
} else if (helpId == "View") { } else if (helpId == "View") {
XtAddCallback(cascade, XmNhelpCallback, XtAddCallback(cascade, XmNhelpCallback,
HelpCB, DTMAILVIEWMENUID); HelpCB, (void *)DTMAILVIEWMENUID);
} else if (helpId == "Compose") { } else if (helpId == "Compose") {
XtAddCallback(cascade, XmNhelpCallback, XtAddCallback(cascade, XmNhelpCallback,
HelpCB, DTMAILCOMPOSEMENUID); HelpCB, (void *)DTMAILCOMPOSEMENUID);
} }
} else } else
pulldown = _w; pulldown = _w;

View file

@ -88,7 +88,7 @@ extern XtPointer _XmStringUngenerate (
} }
extern forceUpdate( Widget ); extern int forceUpdate( Widget );
SelectFileCmd::SelectFileCmd (const char * name, SelectFileCmd::SelectFileCmd (const char * name,
const char * label, const char * label,

View file

@ -325,7 +325,7 @@ DmxPrintSetup::createPrintSetupDialog (Widget parent)
widgets->dtprint_setup, widgets->dtprint_setup,
XmNhelpCallback, XmNhelpCallback,
HelpCB, HelpCB,
DTMAILPRINTSETUPDIALOG); (void *)DTMAILPRINTSETUPDIALOG);
XtAddCallback( XtAddCallback(
widgets->dtprint_setup, widgets->dtprint_setup,

View file

@ -728,6 +728,7 @@ FindDialog::compareMessage(DtMailMessageHandle handle)
return(found); return(found);
} }
#if !defined(CSRG_BASED)
// //
// See if string 'toFind' is anyware in string 'str'. // See if string 'toFind' is anyware in string 'str'.
// A case-insensitive version of strstr(). // A case-insensitive version of strstr().
@ -762,6 +763,7 @@ strcasestr(const char *str, const char *toFind)
} }
return(result); return(result);
} }
#endif
Boolean Boolean
FindDialog::compareHeader(DtMailEnv & error, FindDialog::compareHeader(DtMailEnv & error,

View file

@ -65,7 +65,7 @@
#include <X11/IntrinsicP.h> // Include for moving X location of titles #include <X11/IntrinsicP.h> // Include for moving X location of titles
extern force( Widget ); extern int force( Widget );
MsgScrollingList::MsgScrollingList( MsgScrollingList::MsgScrollingList(
RoamMenuWindow *menuwindow, RoamMenuWindow *menuwindow,

View file

@ -70,7 +70,7 @@
#include <unistd.h> #include <unistd.h>
#include <wchar.h> #include <wchar.h>
#if defined(USL) || defined(__uxp__) || defined(linux) #if defined(USL) || defined(__uxp__) || defined(linux) || defined(CSRG_BASED)
#define wcswcs wcsstr #define wcswcs wcsstr
#include <wctype.h> // iswspace is defined in this header on USL */ #include <wctype.h> // iswspace is defined in this header on USL */
#endif #endif
@ -2015,7 +2015,7 @@ char *formatPropPair(char * key, void * data)
int m_size; int m_size;
if (data == NULL) if (data == NULL)
data = ""; data = (void *)"";
// figure out whitespace for formatting // figure out whitespace for formatting
// assume 13 for normal sized alias name // assume 13 for normal sized alias name

View file

@ -143,7 +143,7 @@ extern XtPointer _XmStringUngenerate (
#include <sys/file.h> #include <sys/file.h>
extern forceUpdate( Widget ); extern int forceUpdate( Widget );
RoamCmd::RoamCmd RoamCmd::RoamCmd
(char *name, char *label, int active, RoamMenuWindow *window) (char *name, char *label, int active, RoamMenuWindow *window)
@ -1548,7 +1548,7 @@ MoveCopyCmd::doit()
_copy_button, _copy_button,
XmNhelpCallback, XmNhelpCallback,
HelpCB, HelpCB,
"dtmailViewmainWindowWork-AreapanedWform2RowColumnMoveCopy"); (void *)"dtmailViewmainWindowWork-AreapanedWform2RowColumnMoveCopy");
XtAddCallback( XtAddCallback(
_copy_button, _copy_button,
XmNactivateCallback, XmNactivateCallback,

View file

@ -48,7 +48,7 @@
#include <Xm/Xm.h> #include <Xm/Xm.h>
#include <Xm/MessageB.h> #include <Xm/MessageB.h>
#include <assert.h> #include <assert.h>
extern forceUpdate( Widget ); extern int forceUpdate( Widget );
RoamInterruptibleCmd::RoamInterruptibleCmd ( char *name, RoamInterruptibleCmd::RoamInterruptibleCmd ( char *name,

View file

@ -1374,7 +1374,7 @@ SendMsgDialog::createWorkArea ( Widget parent )
printHelpId("form", _main_form); printHelpId("form", _main_form);
/* add help callback */ /* add help callback */
XtAddCallback(_main_form, XmNhelpCallback, HelpCB, DTMAILCOMPOSEWINDOW); XtAddCallback(_main_form, XmNhelpCallback, HelpCB, (void *)DTMAILCOMPOSEWINDOW);
XtVaSetValues(_main_form, XmNallowResize, True, NULL); XtVaSetValues(_main_form, XmNallowResize, True, NULL);

View file

@ -398,6 +398,7 @@ Sort::sortMessages(MsgScrollingList *displayList,
#define Record(i) (base + (width * (i))) #define Record(i) (base + (width * (i)))
#define Link(i) (*((int *) (Record(i) + offset))) #define Link(i) (*((int *) (Record(i) + offset)))
int
Sort::_msort (char * base, Sort::_msort (char * base,
int nel, int nel,
int width, int width,

View file

@ -103,7 +103,7 @@ class BufferMemory : public Buffer {
virtual int getSize(void); // get total size of the buffer virtual int getSize(void); // get total size of the buffer
private: private:
#if !defined(linux) #if !defined(linux) && !defined(CSRG_BASED)
class Chunk; class Chunk;
#endif #endif

View file

@ -284,7 +284,7 @@ extern "C" {
extern const char ** DtMailTransportEnumerate(DtMailSession, extern const char ** DtMailTransportEnumerate(DtMailSession,
DtMailEnv *); DtMailEnv *);
extern DtMailTransportSubmit(DtMailTransport, extern int DtMailTransportSubmit(DtMailTransport,
DtMailEnv *, DtMailEnv *,
DtMailMessage); DtMailMessage);

View file

@ -120,7 +120,7 @@ class Condition : public DtCPlusPlusAllocator {
int state(void); int state(void);
int operator=(int); int operator=(int);
operator += (int); int operator += (int);
operator int(void); operator int(void);
void wait(void); void wait(void);

View file

@ -156,6 +156,8 @@ struct cmd cmdtab[] = {
#define SYSTEM_MAILRC "/usr/share/lib/mailx.rc" #define SYSTEM_MAILRC "/usr/share/lib/mailx.rc"
#elif defined(__uxp__) #elif defined(__uxp__)
#define SYSTEM_MAILRC "/etc/mail/mailx.rc" #define SYSTEM_MAILRC "/etc/mail/mailx.rc"
#elif defined(CSRG_BASED)
#define SYSTEM_MAILRC "/etc/mail.rc"
#endif #endif
// constructor // constructor
@ -1072,6 +1074,7 @@ int DtMail::MailRc::execute(char linebuf[])
* include the newline at the end. * include the newline at the end.
*/ */
int
DtMail::MailRc::readline(FILE *ibuf, char *linebuf) DtMail::MailRc::readline(FILE *ibuf, char *linebuf)
{ {
register char *cp; register char *cp;

View file

@ -78,13 +78,14 @@ void *
HashTableImpl::lookup(ObjectKey & key) HashTableImpl::lookup(ObjectKey & key)
{ {
short hash_key = key.hashValue(); short hash_key = key.hashValue();
HashEntry *chain;
int slot = hash_key % _table_size; int slot = hash_key % _table_size;
// Search the slot looking for the value. Return NULL if there // Search the slot looking for the value. Return NULL if there
// are no objects matching this key. // are no objects matching this key.
// //
for (HashEntry * chain = &_hash_table[slot]; chain; chain = chain->next) { for (chain = &_hash_table[slot]; chain; chain = chain->next) {
if (chain->key && key == *(chain->key)) { if (chain->key && key == *(chain->key)) {
break; break;
} }
@ -102,6 +103,7 @@ HashTableImpl::set(ObjectKey & key, void * value)
{ {
short hash_key = key.hashValue(); short hash_key = key.hashValue();
int slot = hash_key % _table_size; int slot = hash_key % _table_size;
HashEntry *chain;
// See if we have already filled the slot. // See if we have already filled the slot.
// //
@ -116,7 +118,7 @@ HashTableImpl::set(ObjectKey & key, void * value)
// We either have a collision or a duplicate. In the case of duplicates // We either have a collision or a duplicate. In the case of duplicates
// we simply replace the value. // we simply replace the value.
// //
for (HashEntry * chain = &_hash_table[slot]; chain->next; chain = chain->next) { for (chain = &_hash_table[slot]; chain->next; chain = chain->next) {
// If this item is already stored then update the value. // If this item is already stored then update the value.
// //
if (key == *(chain->key)) { if (key == *(chain->key)) {
@ -139,6 +141,7 @@ HashTableImpl::remove(ObjectKey & key)
short hash_val = key.hashValue(); short hash_val = key.hashValue();
int slot = hash_val % _table_size; int slot = hash_val % _table_size;
void * removed_val = NULL; void * removed_val = NULL;
HashEntry *chain;
// See if we even have this object. // See if we even have this object.
// //
@ -151,7 +154,7 @@ HashTableImpl::remove(ObjectKey & key)
// Try to find it in the chain. // Try to find it in the chain.
// //
HashEntry * last = NULL; HashEntry * last = NULL;
for (HashEntry * chain = &_hash_table[slot]; chain; chain = chain->next) { for (chain = &_hash_table[slot]; chain; chain = chain->next) {
if (key == *(chain->key)) { if (key == *(chain->key)) {
break; break;
} }

View file

@ -819,7 +819,7 @@ GetPasswordEntry(passwd & result)
memcpy(&passwordEntry, tresult, sizeof(struct passwd)); memcpy(&passwordEntry, tresult, sizeof(struct passwd));
passwordEntry.pw_name = strdup(passwordEntry.pw_name); passwordEntry.pw_name = strdup(passwordEntry.pw_name);
passwordEntry.pw_passwd = strdup(passwordEntry.pw_passwd); passwordEntry.pw_passwd = strdup(passwordEntry.pw_passwd);
#if !defined(_AIX) && !defined(linux) #if !defined(_AIX) && !defined(linux) && !defined(CSRG_BASED)
#ifndef __osf__ #ifndef __osf__
passwordEntry.pw_age = strdup(passwordEntry.pw_age); passwordEntry.pw_age = strdup(passwordEntry.pw_age);
#endif #endif

View file

@ -66,8 +66,8 @@ extern "C" void * RFCMetaFactory(const char * op);
extern "C" void * V3MetaFactory(const char * op); extern "C" void * V3MetaFactory(const char * op);
static const SymTable symbol_table[] = { static const SymTable symbol_table[] = {
{ "RFCMetaFactory", RFCMetaFactory }, { "RFCMetaFactory", (void *)RFCMetaFactory },
{ "V3MetaFactory", V3MetaFactory }, { "V3MetaFactory", (void *)V3MetaFactory },
{ NULL, NULL } { NULL, NULL }
}; };

View file

@ -169,7 +169,8 @@ RFCFormat::writeHeaders(DtMailEnv & error,
hnd && !error.isSet(); hnd && !error.isSet();
value.clear(), hnd = env->getNextHeader(error, hnd, &name, value)) { value.clear(), hnd = env->getNextHeader(error, hnd, &name, value)) {
for (const char ** hdr = suppress_headers; *hdr; hdr++) { const char **hdr;
for (hdr = suppress_headers; *hdr; hdr++) {
if (strcasecmp(name, *hdr) == 0) if (strcasecmp(name, *hdr) == 0)
break; break;
} }
@ -185,7 +186,8 @@ RFCFormat::writeHeaders(DtMailEnv & error,
for (int val = 0; val < value.length(); val++) { for (int val = 0; val < value.length(); val++) {
// //
// If the value is null or empty do not emit this field // If the value is null or empty do not emit this field
for (const char *valPtr = *(value[val]); const char *valPtr;
for (valPtr = *(value[val]);
*valPtr && (isspace((unsigned char)*valPtr)); *valPtr && (isspace((unsigned char)*valPtr));
valPtr++) valPtr++)
{} {}

View file

@ -63,7 +63,7 @@
#include <sys/stat.h> #include <sys/stat.h>
#include <sys/param.h> #include <sys/param.h>
#include <sys/uio.h> #include <sys/uio.h>
#if !defined(__aix) && !defined(__hpux) && !defined(linux) #if !defined(__aix) && !defined(__hpux) && !defined(linux) && !defined(CSRG_BASED)
#include <sys/systeminfo.h> #include <sys/systeminfo.h>
#endif #endif
#include <sys/wait.h> #include <sys/wait.h>
@ -112,7 +112,7 @@ extern "C" ssize_t pread(int, void *, size_t, off_t);
#define LCL_SIG_HANDLER_SIGNATURE #define LCL_SIG_HANDLER_SIGNATURE
#elif defined(__hpux) #elif defined(__hpux)
#define LCL_SIG_HANDLER_SIGNATURE __harg #define LCL_SIG_HANDLER_SIGNATURE __harg
#elif defined(__aix) || defined(__alpha) || defined(linux) #elif defined(__aix) || defined(__alpha) || defined(linux) || defined(CSRG_BASED)
#define LCL_SIG_HANDLER_SIGNATURE int #define LCL_SIG_HANDLER_SIGNATURE int
#elif defined(__uxp__) #elif defined(__uxp__)
#define LCL_SIG_HANDLER_SIGNATURE #define LCL_SIG_HANDLER_SIGNATURE
@ -674,7 +674,7 @@ RFCMailBox::append(DtMailEnv &error, char *buf, int len)
path, errno, error.errnoMessage(errno)); path, errno, error.errnoMessage(errno));
break; break;
#if defined(__osf__) #if defined(__osf__) || defined(CSRG_BASED)
case ENOTDIR: case ENOTDIR:
#else #else
case ENOLINK: case ENOLINK:
@ -3011,7 +3011,7 @@ RFCMailBox::createTemporaryMailboxFile(DtMailEnv & error, char *tmp_name)
error.setError(DTME_CannotCreateTemporaryMailboxFile_NoSuchFile); error.setError(DTME_CannotCreateTemporaryMailboxFile_NoSuchFile);
break; break;
#if defined(__osf__) #if defined(__osf__) || defined(CSRG_BASED)
case ENOTDIR: case ENOTDIR:
#else #else
case ENOLINK: case ENOLINK:
@ -3336,7 +3336,7 @@ RFCMailBox::writeMailBox(DtMailEnv &error, DtMailBoolean hide_access)
DTME_CannotWriteToTemporaryMailboxFile_ProcessLimitsExceeded); DTME_CannotWriteToTemporaryMailboxFile_ProcessLimitsExceeded);
break; break;
#if defined(__osf__) #if defined(__osf__) || defined(CSRG_BASED)
case ENOTDIR: case ENOTDIR:
#else #else
case ENOLINK: case ENOLINK:
@ -3696,7 +3696,7 @@ RFCMailBox::generateUniqueLockId(void)
char theId[128]; char theId[128];
char hwserialbuf[64]; char hwserialbuf[64];
#if !defined(__aix) && !defined(__hpux) && !defined(__osf__) && !defined(linux) #if !defined(__aix) && !defined(__hpux) && !defined(__osf__) && !defined(linux) && !defined(CSRG_BASED)
if (sysinfo(SI_HW_SERIAL, (char *)hwserialbuf, sizeof(hwserialbuf)-1) == -1) if (sysinfo(SI_HW_SERIAL, (char *)hwserialbuf, sizeof(hwserialbuf)-1) == -1)
#endif #endif
strcpy(hwserialbuf, "dtmail"); strcpy(hwserialbuf, "dtmail");
@ -3832,7 +3832,7 @@ RFCMailBox::linkLockFile(DtMailEnv & error, char *tempLockFileName)
error.setError(DTME_CannotCreateMailboxLockFile_NoSuchFile); error.setError(DTME_CannotCreateMailboxLockFile_NoSuchFile);
break; break;
#if defined(__osf__) #if defined(__osf__) || defined(CSRG_BASED)
case ENOTDIR: case ENOTDIR:
#else #else
case ENOLINK: case ENOLINK:
@ -4200,7 +4200,7 @@ RFCMailBox::dotDtmailLock(DtMailEnv & error)
case ENOENT: case ENOENT:
error.setError(DTME_CannotCreateMailboxLockFile_NoSuchFile); error.setError(DTME_CannotCreateMailboxLockFile_NoSuchFile);
break; break;
#if defined(__osf__) #if defined(__osf__) || defined(CSRG_BASED)
case ENOTDIR: case ENOTDIR:
#else #else
case ENOLINK: case ENOLINK:
@ -4814,27 +4814,27 @@ extern "C" void *
RFCMetaFactory(const char * op) RFCMetaFactory(const char * op)
{ {
if (strcmp(op, QueryImplEntryOp) == 0) { if (strcmp(op, QueryImplEntryOp) == 0) {
return(RFCQueryImpl); return((void *)RFCQueryImpl);
} }
if (strcmp(op, QueryOpenEntryOp) == 0) { if (strcmp(op, QueryOpenEntryOp) == 0) {
return(RFCQueryOpen); return((void *)RFCQueryOpen);
} }
if (strcmp(op, MailBoxConstructEntryOp) == 0) { if (strcmp(op, MailBoxConstructEntryOp) == 0) {
return(RFCMailBoxConstruct); return((void *)RFCMailBoxConstruct);
} }
if (strcmp(op, QueryMessageEntryOp) == 0) { if (strcmp(op, QueryMessageEntryOp) == 0) {
return(RFCMessageQuery); return((void *)RFCMessageQuery);
} }
if (strcmp(op, MessageConstructEntryOp) == 0) { if (strcmp(op, MessageConstructEntryOp) == 0) {
return(RFCMessageConstruct); return((void *)RFCMessageConstruct);
} }
if (strcmp(op, TransportConstructEntryOp) == 0) { if (strcmp(op, TransportConstructEntryOp) == 0) {
return(RFCMIMETransportConstruct); return((void *)RFCMIMETransportConstruct);
} }
return(NULL); return(NULL);
@ -4873,27 +4873,27 @@ extern "C" void *
V3MetaFactory(const char * op) V3MetaFactory(const char * op)
{ {
if (strcmp(op, QueryImplEntryOp) == 0) { if (strcmp(op, QueryImplEntryOp) == 0) {
return(RFCQueryImpl); return((void *)RFCQueryImpl);
} }
if (strcmp(op, QueryOpenEntryOp) == 0) { if (strcmp(op, QueryOpenEntryOp) == 0) {
return(RFCQueryOpen); return((void *)RFCQueryOpen);
} }
if (strcmp(op, MailBoxConstructEntryOp) == 0) { if (strcmp(op, MailBoxConstructEntryOp) == 0) {
return(V3MailBoxConstruct); return((void *)V3MailBoxConstruct);
} }
if (strcmp(op, QueryMessageEntryOp) == 0) { if (strcmp(op, QueryMessageEntryOp) == 0) {
return(RFCMessageQuery); return((void *)RFCMessageQuery);
} }
if (strcmp(op, MessageConstructEntryOp) == 0) { if (strcmp(op, MessageConstructEntryOp) == 0) {
return(RFCMessageConstruct); return((void *)RFCMessageConstruct);
} }
if (strcmp(op, TransportConstructEntryOp) == 0) { if (strcmp(op, TransportConstructEntryOp) == 0) {
return(RFCV3TransportConstruct); return((void *)RFCV3TransportConstruct);
} }
return(NULL); return(NULL);

View file

@ -51,6 +51,7 @@
#include <strings.h> #include <strings.h>
#endif #endif
#include <ctype.h> #include <ctype.h>
#include <stdint.h>
#include <DtMail/IO.hh> #include <DtMail/IO.hh>
#include "RFCImpl.hh" #include "RFCImpl.hh"
@ -490,7 +491,9 @@ RFCValue::toDate(void)
new_time.tm_isdst = -1; new_time.tm_isdst = -1;
date.dtm_date = SafeMktime(&new_time); date.dtm_date = SafeMktime(&new_time);
date.dtm_tz_offset_secs = (int) timezone; #ifdef SVR4
date.dtm_tz_offset_secs = timezone;
#endif
} }
else { else {
// In this format, we should have a day of the month. // In this format, we should have a day of the month.
@ -536,15 +539,19 @@ RFCValue::toDate(void)
time_t offset = parseTZ(token_begin[this_token], token_end[this_token]); time_t offset = parseTZ(token_begin[this_token], token_end[this_token]);
time_t orig_zone = (time_t) timezone; #ifdef SVR4
time_t orig_zone = timezone;
timezone = offset; timezone = offset;
#endif
// Tell "mktime" to figure "dst" on or not. // Tell "mktime" to figure "dst" on or not.
new_time.tm_isdst = -1; new_time.tm_isdst = -1;
date.dtm_date = SafeMktime(&new_time); date.dtm_date = SafeMktime(&new_time);
date.dtm_tz_offset_secs = offset; date.dtm_tz_offset_secs = offset;
#ifdef SVR4
timezone = orig_zone; timezone = orig_zone;
#endif
} }
return(date); return(date);

View file

@ -973,7 +973,7 @@ RFCTransport::signalRegister(void)
initialized = 1; initialized = 1;
#if defined(hpux) || defined(_aix) || defined(__osf__) || defined(linux) || \ #if defined(hpux) || defined(_aix) || defined(__osf__) || defined(linux) || \
(defined(sun) && OSMAJORVERSION>=5 && OSMINORVERSION>4) (defined(sun) && OSMAJORVERSION>=5 && OSMINORVERSION>4) || defined(CSRG_BASED)
// SunOS 5.5 and above defined prototype for signal handler // SunOS 5.5 and above defined prototype for signal handler
act.sa_handler = (void (*)(int))&RFCTransport::childHandler; act.sa_handler = (void (*)(int))&RFCTransport::childHandler;
#else #else