diff options
Diffstat (limited to 'development/icon/patches')
-rw-r--r-- | development/icon/patches/display.patch | 44 | ||||
-rw-r--r-- | development/icon/patches/glibc.patch | 23 | ||||
-rw-r--r-- | development/icon/patches/implicit-defs.patch | 162 | ||||
-rw-r--r-- | development/icon/patches/lexer.patch | 18 | ||||
-rw-r--r-- | development/icon/patches/maxtype.patch | 18 |
5 files changed, 265 insertions, 0 deletions
diff --git a/development/icon/patches/display.patch b/development/icon/patches/display.patch new file mode 100644 index 0000000000..05eab35d2c --- /dev/null +++ b/development/icon/patches/display.patch @@ -0,0 +1,44 @@ +commit d0cd013653360f6f11e3b5dbdbbf3788a5c08b02 +Author: Gregg Townsend <gmt@cs.arizona.edu> +Date: Thu Dec 4 15:37:39 2014 -0700 + + Handle $DISPLAY longer than 63 characters. + First seen as a problem on Macintosh OS X 10.10 ("Yosemite"). + Side effects revealed other bugs in cross-display CopyArea and + gamma correction. + +diff --git a/src/h/graphics.h b/src/h/graphics.h +--- a/src/h/graphics.h ++++ b/src/h/graphics.h +@@ -201,7 +201,7 @@ + typedef struct _wdisplay { + int refcount; + int serial; /* serial # */ +- char name[MAXDISPLAYNAME]; ++ char *name; + Display * display; + Visual * visual; + GC icongc; +diff --git a/src/h/xwin.h b/src/h/xwin.h +--- a/src/h/xwin.h ++++ b/src/h/xwin.h +@@ -73,7 +73,6 @@ + */ + #define WMAXCOLORS 256 + #define MAXCOLORNAME 40 +-#define MAXDISPLAYNAME 64 + #define CSHARED 0 + #define CMUTABLE 1 + #define NUMCURSORSYMS 78 +diff --git a/src/runtime/rxrsc.ri b/src/runtime/rxrsc.ri +--- a/src/runtime/rxrsc.ri ++++ b/src/runtime/rxrsc.ri +@@ -376,7 +376,7 @@ + + GRFX_ALLOC(wd, _wdisplay); + +- strcpy(wd->name,s); ++ wd->name = salloc(s); + wd->display = XOpenDisplay((*s=='\0') ? NULL : s); + + if (wd->display == NULL) { diff --git a/development/icon/patches/glibc.patch b/development/icon/patches/glibc.patch new file mode 100644 index 0000000000..b0629d0cc8 --- /dev/null +++ b/development/icon/patches/glibc.patch @@ -0,0 +1,23 @@ +commit bfc4a6004d0d3984c8066289b8d8e563640c4ddd +Author: Gregg Townsend <gmt@cs.arizona.edu> +Date: Mon Oct 29 10:07:31 2018 -0700 + + Adapt to change in GLIBC v2.28 internals (thx Cheyenne Wills). + +diff --git a/ipl/cfuncs/fpoll.c b/ipl/cfuncs/fpoll.c +--- a/ipl/cfuncs/fpoll.c ++++ b/ipl/cfuncs/fpoll.c +@@ -60,12 +64,9 @@ + + /* check for data already in buffer */ + /* there's no legal way to do this in C; we cheat */ +-#if defined(__GLIBC__) && defined(_STDIO_USES_IOSTREAM) /* new GCC library */ ++#if defined(__GLIBC__) /* new GCC library */ + if (f->_IO_read_ptr < f->_IO_read_end) + RetArg(1); +-#elif defined(__GLIBC__) /* old GCC library */ +- if (f->__bufp < f->__get_limit) +- RetArg(1); + #elif defined(_FSTDIO) /* new BSD library */ + if (f->_r > 0) + RetArg(1); diff --git a/development/icon/patches/implicit-defs.patch b/development/icon/patches/implicit-defs.patch new file mode 100644 index 0000000000..9e015c7ad7 --- /dev/null +++ b/development/icon/patches/implicit-defs.patch @@ -0,0 +1,162 @@ +commit 8cb4887b886ad0c9caf0be595e236d2a74a41a8d +Author: Gregg Townsend <gmt@cs.arizona.edu> +Date: Mon Aug 28 09:10:00 2017 -0700 + + Fix compilation warnings in xpm code (thx Sean Jensen). + +diff --git a/src/xpm/create.c b/src/xpm/create.c +--- a/src/xpm/create.c ++++ b/src/xpm/create.c +@@ -344,6 +344,7 @@ + + #endif + ++int + xpmCreateImage(display, attrib, image_return, shapeimage_return, attributes) + Display *display; + xpmInternAttrib *attrib; +diff --git a/src/xpm/data.c b/src/xpm/data.c +--- a/src/xpm/data.c ++++ b/src/xpm/data.c +@@ -110,6 +110,7 @@ + /* + * skip to the end of the current string and the beginning of the next one + */ ++void + xpmNextString(mdata) + xpmData *mdata; + { +@@ -277,6 +278,7 @@ + /* + * get the current comment line + */ ++void + xpmGetCmt(mdata, cmt) + xpmData *mdata; + char **cmt; +@@ -403,6 +405,7 @@ + /* + * close the file related to the xpmData if any + */ ++void + XpmDataClose(mdata) + xpmData *mdata; + { +diff --git a/src/xpm/misc.c b/src/xpm/misc.c +--- a/src/xpm/misc.c ++++ b/src/xpm/misc.c +@@ -14,6 +14,7 @@ + * Free the computed color table + */ + ++void + xpmFreeColorTable(colorTable, ncolors) + char ***colorTable; + int ncolors; +@@ -39,6 +40,7 @@ + * which ones must be freed later on. + */ + ++void + xpmInitInternAttrib(attrib) + xpmInternAttrib *attrib; + { +@@ -55,6 +57,7 @@ + * Free the xpmInternAttrib pointers which have been allocated + */ + ++void + xpmFreeInternAttrib(attrib) + xpmInternAttrib *attrib; + { +@@ -80,6 +83,7 @@ + /* + * Free array of extensions + */ ++void + XpmFreeExtensions(extensions, nextensions) + XpmExtension *extensions; + int nextensions; +@@ -108,6 +112,7 @@ + * Return the XpmAttributes structure size + */ + ++int + XpmAttributesSize() + { + return sizeof(XpmAttributes); +@@ -119,6 +124,7 @@ + * but the structure itself + */ + ++void + XpmFreeAttributes(attributes) + XpmAttributes *attributes; + { +@@ -167,6 +173,7 @@ + * the xpmInternAttrib structure. + */ + ++void + xpmSetAttributes(attrib, attributes) + xpmInternAttrib *attrib; + XpmAttributes *attributes; +diff --git a/src/xpm/xpm.h b/src/xpm/xpm.h +--- a/src/xpm/xpm.h ++++ b/src/xpm/xpm.h +@@ -191,8 +191,8 @@ + XpmAttributes * attributes)); + + FUNC(XpmAttributesSize, int, ()); +- FUNC(XpmFreeAttributes, int, (XpmAttributes * attributes)); +- FUNC(XpmFreeExtensions, int, (XpmExtension * extensions, int nextensions)); ++ FUNC(XpmFreeAttributes, void, (XpmAttributes * attributes)); ++ FUNC(XpmFreeExtensions, void, (XpmExtension * extensions, int nextensions)); + + #ifdef __cplusplus + } /* for C++ V2.0 */ +diff --git a/src/xpm/xpmP.h b/src/xpm/xpmP.h +--- a/src/xpm/xpmP.h ++++ b/src/xpm/xpmP.h +@@ -159,13 +159,13 @@ + XpmAttributes * attributes, + xpmInternAttrib * attrib)); + +-FUNC(xpmFreeColorTable, int, (char ***colorTable, int ncolors)); ++FUNC(xpmFreeColorTable, void, (char ***colorTable, int ncolors)); + +-FUNC(xpmInitInternAttrib, int, (xpmInternAttrib * xmpdata)); ++FUNC(xpmInitInternAttrib, void, (xpmInternAttrib * xmpdata)); + +-FUNC(xpmFreeInternAttrib, int, (xpmInternAttrib * xmpdata)); ++FUNC(xpmFreeInternAttrib, void, (xpmInternAttrib * xmpdata)); + +-FUNC(xpmSetAttributes, int, (xpmInternAttrib * attrib, ++FUNC(xpmSetAttributes, void, (xpmInternAttrib * attrib, + XpmAttributes * attributes)); + + FUNC(xpmGetAttributes, int, (XpmAttributes * attributes, +@@ -173,18 +173,20 @@ + + /* I/O utility */ + +-FUNC(xpmNextString, int, (xpmData * mdata)); ++FUNC(atoui, unsigned int, (char *p, unsigned int l, unsigned int *ui_return)); ++FUNC(xpmGetString, int, (xpmData *mdata, char **sptr, unsigned int *l)); ++FUNC(xpmNextString, void, (xpmData * mdata)); + FUNC(xpmNextUI, int, (xpmData * mdata, unsigned int *ui_return)); + + #define xpmGetC(mdata) \ + (mdata->type ? (getc(mdata->stream.file)) : (*mdata->cptr++)) + + FUNC(xpmNextWord, unsigned int, (xpmData * mdata, char *buf)); +-FUNC(xpmGetCmt, int, (xpmData * mdata, char **cmt)); ++FUNC(xpmGetCmt, void, (xpmData * mdata, char **cmt)); + FUNC(xpmReadFile, int, (char *filename, xpmData * mdata)); + FUNC(xpmWriteFile, int, (char *filename, xpmData * mdata)); + FUNC(xpmOpenArray, void, (char **data, xpmData * mdata)); +-FUNC(XpmDataClose, int, (xpmData * mdata)); ++FUNC(XpmDataClose, void, (xpmData * mdata)); + + /* RGB utility */ + diff --git a/development/icon/patches/lexer.patch b/development/icon/patches/lexer.patch new file mode 100644 index 0000000000..290ed67364 --- /dev/null +++ b/development/icon/patches/lexer.patch @@ -0,0 +1,18 @@ +commit bb7c6b5232d8cf0ad98e5ab8e8e3afd3a249751f +Author: Gregg Townsend <gmt@cs.arizona.edu> +Date: Mon Aug 28 08:08:32 2017 -0700 + + Fix ancient potential lexer bug (thx Sean Jensen). + +diff --git a/src/common/yylex.h b/src/common/yylex.h +--- a/src/common/yylex.h ++++ b/src/common/yylex.h +@@ -263,7 +263,7 @@ + { + register char *s1; + s1 = lex_sbuf.strtimage; +- while (s != '\0' && s1 < lex_sbuf.endimage && *s == *s1) { ++ while (*s != '\0' && s1 < lex_sbuf.endimage && *s == *s1) { + ++s; + ++s1; + } diff --git a/development/icon/patches/maxtype.patch b/development/icon/patches/maxtype.patch new file mode 100644 index 0000000000..4e4651cc96 --- /dev/null +++ b/development/icon/patches/maxtype.patch @@ -0,0 +1,18 @@ +commit e91f59f3affe69043586cb171ad1f8027e31d930 +Author: Gregg Townsend <gmt@cs.arizona.edu> +Date: Sat Mar 11 08:41:26 2017 -0700 + + Fix innocuous MaxType definition bug (thx Don Ward). + +diff --git a/src/h/rmacros.h b/src/h/rmacros.h +--- a/src/h/rmacros.h ++++ b/src/h/rmacros.h +@@ -301,7 +301,7 @@ + #define T_Kywdstr 24 /* string keyword */ + #define T_Kywdevent 25 /* keyword &eventsource, etc. */ + +-#define MaxType 26 /* maximum type number */ ++#define MaxType 25 /* maximum type number */ + + /* + * Definitions for keywords. |