Closed Bug 74078 Opened 23 years ago Closed 23 years ago

cast from void * to char breaks hpux, aix & OS/2

Categories

(MailNews Core :: Networking: POP, defect)

All
HP-UX
defect
Not set
critical

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: cls, Assigned: naving)

Details

Naving, your checkin of net_pop3_remove_messages_marked_delete() in
nsPop3Protocol.cpp caused 3 of our ports tinderboxes to go red tonight.  The
error messages were along the lines of:

"/builds/tinderbox/SeaMonkey/AIX_4.3_Clobber/mozilla/mailnews/local/src/nsPop3Protocol.cpp",
line 114.35: 1540-225: (S) "char" is too small to hold a value of type "void*".

I made the following change to the code in hopes of making the trees turn green
again but there's an ongoing debate on #mozilla as to whether either the fix or
the original code would 

Here's the core of my change.

-
char valueChar = (char) he->value;
+
char valueChar = '\0';
+    if (he->value)
+
  nsCRT::memcpy(&valueChar, he->value, sizeof(char));
do what was desired since sizeof char != sizeof void *.
Thanks for fixing the bustage
Oops, I meant to update this before I went to bed last night.  Turns out that my
controversial fix was the wrong thing to do after all.  We ended up using Brad
Roberts' fix of replacing

char valueChar = (char) he->value;

with

char valueChar = (char)(long)he->value;

Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Navin, please verify this
verified
Status: RESOLVED → VERIFIED
Product: MailNews → Core
Product: Core → MailNews Core
You need to log in before you can comment on or make changes to this bug.