summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libobjc/ChangeLog6
-rw-r--r--libobjc/archive.c6
2 files changed, 9 insertions, 3 deletions
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog
index 29fb2cfd255..8becfbc52fb 100644
--- a/libobjc/ChangeLog
+++ b/libobjc/ChangeLog
@@ -1,3 +1,9 @@
+Fri Mar 26 23:41:07 1999 Ovidiu Predescu <ovidiu@cup.hp.com>
+
+ * archive.c (__objc_code_char, __objc_write_char): Explicitly specify
+ the char as being signed (patch from Daniel Jacobowitz
+ <drow@false.org>).
+
Wed Mar 24 22:41:28 1999 Mumit Khan <khan@xraylith.wisc.edu>
* configure.in (AC_PREREQ): Update to 2.13.
diff --git a/libobjc/archive.c b/libobjc/archive.c
index 626f6bafea3..10106c1145e 100644
--- a/libobjc/archive.c
+++ b/libobjc/archive.c
@@ -91,7 +91,7 @@ objc_write_unsigned_char (struct objc_typed_stream* stream,
}
static __inline__ int
-__objc_code_char (unsigned char* buf, char val)
+__objc_code_char (unsigned char* buf, signed char val)
{
if (val >= 0)
return __objc_code_unsigned_char (buf, val);
@@ -104,7 +104,7 @@ __objc_code_char (unsigned char* buf, char val)
}
int
-objc_write_char (struct objc_typed_stream* stream, char value)
+objc_write_char (struct objc_typed_stream* stream, signed char value)
{
unsigned char buf[sizeof (char)+1];
int len = __objc_code_char (buf, value);
@@ -1000,7 +1000,7 @@ objc_write_type(TypedStream* stream, const char* type, const void* data)
break;
case _C_CHR:
- return objc_write_char(stream, *(char*)data);
+ return objc_write_char(stream, *(signed char*)data);
break;
case _C_UCHR: