File smalltalk-3.0.3-64bit.patch of Package smalltalk
diff -u -r -p ../smalltalk-3.0.3.orig//libgst/cint.c ./libgst/cint.c
--- ../smalltalk-3.0.3.orig//libgst/cint.c 2008-07-20 12:36:49.190007902 +0200
+++ ./libgst/cint.c 2008-07-20 12:44:43.270920502 +0200
@@ -68,7 +68,11 @@ symbol_type_map;
typedef struct cparam
{
union {
+#if defined(__alpha__) || defined(__ia64__) || defined(__ppc64__) || defined(__s390x__) || defined(__x86_64__)
+ long intVal;
+#else
int intVal;
+#endif
long longVal;
PTR ptrVal;
float floatVal;
diff -u -r -p ../smalltalk-3.0.3.orig//libgst/input.c ./libgst/input.c
--- ../smalltalk-3.0.3.orig//libgst/input.c 2008-07-20 12:36:49.374016019 +0200
+++ ./libgst/input.c 2008-07-20 12:49:26.147399120 +0200
@@ -250,7 +250,7 @@ _gst_push_unix_file (int fd,
newStream = push_new_stream (STREAM_FILE);
newStream->st_file.fd = fd;
- newStream->st_file.buf = xmalloc (1024);
+ newStream->st_file.buf = xmalloc ((size_t)1024);
newStream->st_file.ptr = newStream->st_file.buf;
newStream->st_file.end = newStream->st_file.buf;
newStream->fileName = fileName;
@@ -926,7 +926,7 @@ void
add_completion (const char *str,
int len)
{
- char *s = xmalloc (len + 1);
+ char *s = xmalloc ((size_t)len + 1);
memcpy (s, str, len);
s[len] = 0;
@@ -934,7 +934,7 @@ add_completion (const char *str,
{
free_items += 50;
completions =
- (char **) xrealloc (completions, sizeof (char *) * (count + 50));
+ (char **) xrealloc (completions, (size_t)sizeof (char *) * (count + 50));
}
free_items--;