summaryrefslogtreecommitdiff
path: root/source/x/xaw3d
diff options
context:
space:
mode:
authorPatrick J Volkerding <volkerdi@slackware.com>2011-04-25 13:37:00 +0000
committerEric Hameleers <alien@slackware.com>2018-05-31 22:45:18 +0200
commit75a4a592e5ccda30715f93563d741b83e0dcf39e (patch)
tree502f745607e77a2c4386ad38d818ddcafe81489c /source/x/xaw3d
parentb76270bf9e6dd375e495fec92140a79a79415d27 (diff)
downloadcurrent-75a4a592e5ccda30715f93563d741b83e0dcf39e.tar.gz
Slackware 13.37slackware-13.37
Mon Apr 25 13:37:00 UTC 2011 Slackware 13.37 x86_64 stable is released! Thanks to everyone who pitched in on this release: the Slackware team, the folks producing upstream code, and linuxquestions.org for providing a great forum for collaboration and testing. The ISOs are off to be replicated, a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. Please consider supporting the Slackware project by picking up a copy from store.slackware.com. We're taking pre-orders now, and offer a discount if you sign up for a subscription. As always, thanks to the Slackware community for testing, suggestions, and feedback. :-) Have fun!
Diffstat (limited to 'source/x/xaw3d')
-rw-r--r--source/x/xaw3d/Xaw3d-1.5-debian-fixes.diff647
-rw-r--r--source/x/xaw3d/Xaw3d-1.5E.diff30
-rwxr-xr-xsource/x/xaw3d/pull-xaw3d.sh7
-rwxr-xr-xsource/x/xaw3d/xaw3d.SlackBuild57
4 files changed, 32 insertions, 709 deletions
diff --git a/source/x/xaw3d/Xaw3d-1.5-debian-fixes.diff b/source/x/xaw3d/Xaw3d-1.5-debian-fixes.diff
deleted file mode 100644
index 5593f249..00000000
--- a/source/x/xaw3d/Xaw3d-1.5-debian-fixes.diff
+++ /dev/null
@@ -1,647 +0,0 @@
-diff -up Xaw3d-1.5E/xc/lib/Xaw3d/AsciiSrc.c.debian Xaw3d-1.5E/xc/lib/Xaw3d/AsciiSrc.c
---- Xaw3d-1.5E/xc/lib/Xaw3d/AsciiSrc.c.debian 2000-11-27 14:19:36.000000000 +0100
-+++ Xaw3d-1.5E/xc/lib/Xaw3d/AsciiSrc.c 2008-10-06 11:42:13.000000000 +0200
-@@ -51,11 +51,17 @@ in this Software without prior written a
- #include <X11/Xaw3d/MultiSrcP.h>
- #endif
-
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#include <fcntl.h>
-
- #if (defined(ASCII_STRING) || defined(ASCII_DISK))
- # include <X11/Xaw3d/AsciiText.h> /* for Widget Classes. */
- #endif
-
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#include <fcntl.h>
-
- /****************************************************************
- *
-@@ -1007,7 +1013,9 @@ InitStringOrFile(src, newString)
- AsciiSrcObject src;
- Boolean newString;
- {
-- char * open_mode = NULL;
-+ mode_t open_mode = 0;
-+ const char *fdopen_mode = NULL;
-+ int fd;
- FILE * file;
- char fileName[TMPSIZ];
-
-@@ -1049,7 +1057,8 @@ Boolean newString;
- XtErrorMsg("NoFile", "asciiSourceCreate", "XawError",
- "Creating a read only disk widget and no file specified.",
- NULL, 0);
-- open_mode = "r";
-+ open_mode = O_RDONLY;
-+ fdopen_mode = "r";
- break;
- case XawtextAppend:
- case XawtextEdit:
-@@ -1057,9 +1066,17 @@ Boolean newString;
- src->ascii_src.string = fileName;
- (void) tmpnam(src->ascii_src.string);
- src->ascii_src.is_tempfile = TRUE;
-- open_mode = "w";
-- } else
-- open_mode = "r+";
-+ open_mode = O_WRONLY | O_CREAT | O_EXCL;
-+ fdopen_mode = "w";
-+ } else {
-+/* O_NOFOLLOW is a BSD & Linux extension */
-+#ifdef O_NOFOLLOW
-+ open_mode = O_RDWR | O_NOFOLLOW;
-+#else
-+ open_mode = O_RDWR; /* unsafe; subject to race conditions */
-+#endif
-+ fdopen_mode = "r+";
-+ }
- break;
- default:
- XtErrorMsg("badMode", "asciiSourceCreate", "XawError",
-@@ -1078,11 +1095,14 @@ Boolean newString;
- }
-
- if (!src->ascii_src.is_tempfile) {
-- if ((file = fopen(src->ascii_src.string, open_mode)) != 0) {
-- (void) fseek(file, (Off_t)0, 2);
-- src->ascii_src.length = (XawTextPosition) ftell(file);
-- return file;
-- } else {
-+ if ((fd = open(src->ascii_src.string, open_mode, 0666))) {
-+ if ((file = fdopen(fd, fdopen_mode)) != NULL) {
-+ (void)fseek(file, 0, SEEK_END);
-+ src->ascii_src.length = (XawTextPosition)ftell(file);
-+ return (file);
-+ }
-+ }
-+ {
- String params[2];
- Cardinal num_params = 2;
-
-@@ -1094,7 +1114,7 @@ Boolean newString;
- }
- }
- src->ascii_src.length = 0;
-- return((FILE *)NULL);
-+ return(NULL);
- }
-
- static void
-diff -up Xaw3d-1.5E/xc/lib/Xaw3d/AsciiSrcP.h.debian Xaw3d-1.5E/xc/lib/Xaw3d/AsciiSrcP.h
---- Xaw3d-1.5E/xc/lib/Xaw3d/AsciiSrcP.h.debian 1996-10-15 16:41:18.000000000 +0200
-+++ Xaw3d-1.5E/xc/lib/Xaw3d/AsciiSrcP.h 2008-10-06 11:42:13.000000000 +0200
-@@ -85,7 +85,11 @@ SOFTWARE.
- #ifdef L_tmpnam
- #define TMPSIZ L_tmpnam
- #else
--#define TMPSIZ 32 /* bytes to allocate for tmpnam */
-+#ifdef PATH_MAX
-+#define TMPSIZ PATH_MAX
-+#else
-+#define TMPSIZ 1024 /* bytes to allocate for tmpnam */
-+#endif
- #endif
-
- #define MAGIC_VALUE ((XawTextPosition) -1) /* Magic value. */
-diff -up Xaw3d-1.5E/xc/lib/Xaw3d/MenuButton.c.debian Xaw3d-1.5E/xc/lib/Xaw3d/MenuButton.c
---- Xaw3d-1.5E/xc/lib/Xaw3d/MenuButton.c.debian 1996-10-15 16:41:20.000000000 +0200
-+++ Xaw3d-1.5E/xc/lib/Xaw3d/MenuButton.c 2008-10-06 11:42:13.000000000 +0200
-@@ -53,6 +53,8 @@ in this Software without prior written a
- #include <X11/Xaw3d/XawInit.h>
- #include <X11/Xaw3d/MenuButtoP.h>
-
-+#include "XawAlloc.h"
-+
- static void ClassInitialize();
- static void PopupMenu();
-
-@@ -179,9 +181,16 @@ Cardinal * num_params;
-
- if (menu == NULL) {
- char error_buf[BUFSIZ];
-- (void) sprintf(error_buf, "MenuButton: %s %s.",
-- "Could not find menu widget named", mbw->menu_button.menu_name);
-- XtAppWarning(XtWidgetToApplicationContext(w), error_buf);
-+ char *err1 = "MenuButton: Could not find menu widget named ";
-+ char *perr;
-+ int len;
-+
-+ len = strlen(err1) + strlen(mbw->menu_button.menu_name) + 1 + 1;
-+ perr = XtStackAlloc(len, error_buf);
-+ if (perr == NULL) return;
-+ sprintf(perr, "%s%s.", err1, mbw->menu_button.menu_name);
-+ XtAppWarning(XtWidgetToApplicationContext(w), perr);
-+ XtStackFree(perr, error_buf);
- return;
- }
- if (!XtIsRealized(menu))
-diff -up Xaw3d-1.5E/xc/lib/Xaw3d/MultiSrc.c.debian Xaw3d-1.5E/xc/lib/Xaw3d/MultiSrc.c
---- Xaw3d-1.5E/xc/lib/Xaw3d/MultiSrc.c.debian 2008-10-06 11:42:13.000000000 +0200
-+++ Xaw3d-1.5E/xc/lib/Xaw3d/MultiSrc.c 2008-10-06 11:42:13.000000000 +0200
-@@ -74,6 +74,9 @@ in this Software without prior written a
- #include <stdio.h>
- #include <ctype.h>
- #include <errno.h>
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#include <fcntl.h>
-
- /****************************************************************
- *
-@@ -1077,7 +1080,9 @@ InitStringOrFile(src, newString)
- MultiSrcObject src;
- Boolean newString;
- {
-- char * open_mode = NULL;
-+ mode_t open_mode = 0;
-+ const char *fdopen_mode = NULL;
-+ int fd;
- FILE * file;
- char fileName[TMPSIZ];
- Display *d = XtDisplayOfObject((Widget)src);
-@@ -1128,7 +1133,8 @@ InitStringOrFile(src, newString)
- XtErrorMsg("NoFile", "multiSourceCreate", "XawError",
- "Creating a read only disk widget and no file specified.",
- NULL, 0);
-- open_mode = "r";
-+ open_mode = O_RDONLY;
-+ fdopen_mode = "r";
- break;
- case XawtextAppend:
- case XawtextEdit:
-@@ -1141,9 +1147,17 @@ InitStringOrFile(src, newString)
-
- (void) tmpnam(src->multi_src.string);
- src->multi_src.is_tempfile = TRUE;
-- open_mode = "w";
-- } else
-- open_mode = "r+";
-+ open_mode = O_WRONLY | O_CREAT | O_EXCL;
-+ fdopen_mode = "w";
-+ } else {
-+/* O_NOFOLLOW is a BSD & Linux extension */
-+#ifdef O_NOFOLLOW
-+ open_mode = O_RDWR | O_NOFOLLOW;
-+#else
-+ open_mode = O_RDWR; /* unsafe; subject to race conditions */
-+#endif
-+ fdopen_mode = "r+";
-+ }
- break;
- default:
- XtErrorMsg("badMode", "multiSourceCreate", "XawError",
-@@ -1162,11 +1176,14 @@ InitStringOrFile(src, newString)
- }
-
- if (!src->multi_src.is_tempfile) {
-- if ((file = fopen(src->multi_src.string, open_mode)) != 0) {
-- (void) fseek(file, (Off_t)0, 2);
-- src->multi_src.length = ftell (file);
-- return file;
-- } else {
-+ if ((fd = open(src->multi_src.string, open_mode, 0666))) {
-+ if ((file = fdopen(fd, fdopen_mode)) != NULL) {
-+ (void)fseek(file, 0, SEEK_END);
-+ src->multi_src.length = (XawTextPosition)ftell(file);
-+ return (file);
-+ }
-+ }
-+ {
- String params[2];
- Cardinal num_params = 2;
-
-@@ -1178,7 +1195,7 @@ InitStringOrFile(src, newString)
- }
- }
- src->multi_src.length = 0;
-- return((FILE *)NULL);
-+ return(NULL);
- #undef StrLen
- }
-
-diff -up Xaw3d-1.5E/xc/lib/Xaw3d/MultiSrcP.h.debian Xaw3d-1.5E/xc/lib/Xaw3d/MultiSrcP.h
---- Xaw3d-1.5E/xc/lib/Xaw3d/MultiSrcP.h.debian 1996-10-15 16:41:21.000000000 +0200
-+++ Xaw3d-1.5E/xc/lib/Xaw3d/MultiSrcP.h 2008-10-06 11:42:13.000000000 +0200
-@@ -113,7 +113,11 @@ SOFTWARE.
- #ifdef L_tmpnam
- #define TMPSIZ L_tmpnam
- #else
--#define TMPSIZ 32 /* bytes to allocate for tmpnam */
-+#ifdef PATH_MAX
-+#define TMPSIZ PATH_MAX
-+#else
-+#define TMPSIZ 1024 /* bytes to allocate for tmpnam */
-+#endif
- #endif
-
- #define MAGIC_VALUE ((XawTextPosition) -1) /* Magic value. */
-diff -up Xaw3d-1.5E/xc/lib/Xaw3d/Simple.c.debian Xaw3d-1.5E/xc/lib/Xaw3d/Simple.c
---- Xaw3d-1.5E/xc/lib/Xaw3d/Simple.c.debian 2000-11-27 14:19:36.000000000 +0100
-+++ Xaw3d-1.5E/xc/lib/Xaw3d/Simple.c 2008-10-06 11:42:13.000000000 +0200
-@@ -56,6 +56,8 @@ SOFTWARE.
- #include <X11/Xaw3d/SimpleP.h>
- #include <X11/Xmu/Drawing.h>
-
-+#include "XawAlloc.h"
-+
- #define offset(field) XtOffsetOf(SimpleRec, simple.field)
-
- static XtResource resources[] = {
-@@ -148,11 +150,17 @@ static void ClassPartInitialize(class)
-
- if (c->simple_class.change_sensitive == NULL) {
- char buf[BUFSIZ];
--
-- (void) sprintf(buf,
-- "%s Widget: The Simple Widget class method 'change_sensitive' is undefined.\nA function must be defined or inherited.",
-- c->core_class.class_name);
-- XtWarning(buf);
-+ char *pbuf;
-+ char *msg1 = " Widget: The Simple Widget class method 'change_sensitive' is undefined.\nA function must be defined or inherited.";
-+ int len;
-+
-+ len = strlen(msg1) + strlen(c->core_class.class_name) + 1;
-+ pbuf = XtStackAlloc(len, buf);
-+ if (pbuf != NULL) {
-+ sprintf(pbuf, "%s%s", c->core_class.class_name, msg1);
-+ XtWarning(pbuf);
-+ XtStackFree(pbuf, buf);
-+ }
- c->simple_class.change_sensitive = ChangeSensitive;
- }
-
-diff -up Xaw3d-1.5E/xc/lib/Xaw3d/SimpleMenu.c.debian Xaw3d-1.5E/xc/lib/Xaw3d/SimpleMenu.c
---- Xaw3d-1.5E/xc/lib/Xaw3d/SimpleMenu.c.debian 2003-02-17 07:45:07.000000000 +0100
-+++ Xaw3d-1.5E/xc/lib/Xaw3d/SimpleMenu.c 2008-10-06 11:42:13.000000000 +0200
-@@ -51,6 +51,8 @@ in this Software without prior written a
- #include <X11/Xmu/Initer.h>
- #include <X11/Xmu/CharSet.h>
-
-+#include "XawAlloc.h"
-+
- #define streq(a, b) ( strcmp((a), (b)) == 0 )
-
- #define offset(field) XtOffsetOf(SimpleMenuRec, simple_menu.field)
-@@ -755,9 +757,17 @@ Cardinal * num_params;
-
- if ( (menu = FindMenu(w, params[0])) == NULL) {
- char error_buf[BUFSIZ];
-- (void) sprintf(error_buf, "%s '%s'",
-- "Xaw - SimpleMenuWidget: could not find menu named: ", params[0]);
-- XtAppWarning(XtWidgetToApplicationContext(w), error_buf);
-+ char *err1 = "Xaw - SimpleMenuWidget: could not find menu named: ";
-+ char *perr;
-+ int len;
-+
-+ len = strlen(err1) + strlen(params[0]) + 2 + 1;
-+ perr = XtStackAlloc(len, error_buf);
-+ if (perr == NULL)
-+ return;
-+ sprintf(perr, "%s'%s'", err1, params[0]);
-+ XtAppWarning(XtWidgetToApplicationContext(w), perr);
-+ XtStackFree(perr, error_buf);
- return;
- }
-
-diff -up Xaw3d-1.5E/xc/lib/Xaw3d/StripChart.c.debian Xaw3d-1.5E/xc/lib/Xaw3d/StripChart.c
---- Xaw3d-1.5E/xc/lib/Xaw3d/StripChart.c.debian 2003-02-10 18:18:00.000000000 +0100
-+++ Xaw3d-1.5E/xc/lib/Xaw3d/StripChart.c 2008-10-06 11:42:13.000000000 +0200
-@@ -315,7 +315,15 @@ XtIntervalId *id; /* unused */
- if (w->strip_chart.points != NULL) {
- w->strip_chart.points[0].x = w->strip_chart.interval + s;
- XDrawPoints(XtDisplay(w), XtWindow(w), w->strip_chart.hiGC,
-- w->strip_chart.points, w->strip_chart.scale,
-+ /*
-+ * patch:
-+ *
-+ * w->strip_chart.points, w->strip_chart.scale,
-+ *
-+ * this to avoid a subdle bug of extra spurios scan
-+ * line in this widget.
-+ */
-+ w->strip_chart.points, w->strip_chart.scale - 1,
- CoordModePrevious);
- }
-
-diff -up Xaw3d-1.5E/xc/lib/Xaw3d/Text.c.debian Xaw3d-1.5E/xc/lib/Xaw3d/Text.c
---- Xaw3d-1.5E/xc/lib/Xaw3d/Text.c.debian 2008-10-06 11:42:13.000000000 +0200
-+++ Xaw3d-1.5E/xc/lib/Xaw3d/Text.c 2008-10-06 11:43:16.000000000 +0200
-@@ -76,6 +76,8 @@ SOFTWARE.
- #include <ctype.h> /* for isprint() */
- #include <stdlib.h>
-
-+#include "XawAlloc.h"
-+
- #ifndef MAX_LEN_CT
- #define MAX_LEN_CT 6 /* for sequence: ESC $ ( A \xx \xx */
- #endif
-@@ -521,6 +523,8 @@ Cardinal *num_args; /* unused */
- TextWidget ctx = (TextWidget) new;
- char error_buf[BUFSIZ];
- int s;
-+ char *perr; /* frankie */
-+ size_t len; /* frankie */
-
- ctx->text.threeD = XtVaCreateWidget("threeD", threeDWidgetClass, new,
- XtNx, 0, XtNy, 0,
-@@ -569,10 +573,17 @@ Cardinal *num_args; /* unused */
- if (ctx->text.scroll_vert != XawtextScrollNever)
- if ( (ctx->text.resize == XawtextResizeHeight) ||
- (ctx->text.resize == XawtextResizeBoth) ) {
-- (void) sprintf(error_buf, "Xaw Text Widget %s:\n %s %s.", ctx->core.name,
-- "Vertical scrolling not allowed with height resize.\n",
-- "Vertical scrolling has been DEACTIVATED.");
-- XtAppWarning(XtWidgetToApplicationContext(new), error_buf);
-+ char *err1 = "Xaw Text Widget ";
-+ char *err2 = ":\nVertical scrolling not allowed with height resize.\n";
-+ char *err3 = "Vertical scrolling has been DEACTIVATED.";
-+ len = strlen(err1) + strlen(err2) + strlen(err3) +
-+ strlen(ctx->core.name) + 1;
-+ perr = XtStackAlloc(len, error_buf);
-+ if (perr != NULL) {
-+ (void) sprintf(perr, "%s%s%s%s", err1, ctx->core.name, err2, err3);
-+ XtAppWarning(XtWidgetToApplicationContext(new), perr);
-+ XtStackFree(perr, error_buf);
-+ }
- ctx->text.scroll_vert = XawtextScrollNever;
- }
- else if (ctx->text.scroll_vert == XawtextScrollAlways)
-@@ -580,18 +591,32 @@ Cardinal *num_args; /* unused */
-
- if (ctx->text.scroll_horiz != XawtextScrollNever)
- if (ctx->text.wrap != XawtextWrapNever) {
-- (void) sprintf(error_buf, "Xaw Text Widget %s:\n %s %s.", ctx->core.name,
-- "Horizontal scrolling not allowed with wrapping active.\n",
-- "Horizontal scrolling has been DEACTIVATED.");
-- XtAppWarning(XtWidgetToApplicationContext(new), error_buf);
-+ char *err1 = "Xaw Text Widget ";
-+ char *err2 = ":\nHorizontal scrolling not allowed with wrapping active.";
-+ char *err3 = "\nHorizontal scrolling has been DEACTIVATED.";
-+ len = strlen(err1) + strlen(err2) + strlen(err3) +
-+ strlen(ctx->core.name) + 1;
-+ perr = XtStackAlloc(len, error_buf);
-+ if (perr != NULL) {
-+ (void) sprintf(perr, "%s%s%s%s", err1, ctx->core.name, err2, err3);
-+ XtAppWarning(XtWidgetToApplicationContext(new), perr);
-+ XtStackFree(perr, error_buf);
-+ }
- ctx->text.scroll_horiz = XawtextScrollNever;
- }
- else if ( (ctx->text.resize == XawtextResizeWidth) ||
- (ctx->text.resize == XawtextResizeBoth) ) {
-- (void) sprintf(error_buf, "Xaw Text Widget %s:\n %s %s.", ctx->core.name,
-- "Horizontal scrolling not allowed with width resize.\n",
-- "Horizontal scrolling has been DEACTIVATED.");
-- XtAppWarning(XtWidgetToApplicationContext(new), error_buf);
-+ char *err1 = "Xaw Text Widget ";
-+ char *err2 = ":\nHorizontal scrolling not allowed with width resize.\n";
-+ char *err3 = "Horizontal scrolling has been DEACTIVATED.";
-+ len = strlen(err1) + strlen(err2) + strlen(err3) +
-+ strlen(ctx->core.name) + 1;
-+ perr = XtStackAlloc(len, error_buf);
-+ if (perr != NULL) {
-+ (void) sprintf(perr, "%s%s%s%s", err1, ctx->core.name, err2, err3);
-+ XtAppWarning(XtWidgetToApplicationContext(new), perr);
-+ XtStackFree(perr, error_buf);
-+ }
- ctx->text.scroll_horiz = XawtextScrollNever;
- }
- else if (ctx->text.scroll_horiz == XawtextScrollAlways)
-diff -up Xaw3d-1.5E/xc/lib/Xaw3d/TextPop.c.debian Xaw3d-1.5E/xc/lib/Xaw3d/TextPop.c
---- Xaw3d-1.5E/xc/lib/Xaw3d/TextPop.c.debian 2000-11-27 14:19:36.000000000 +0100
-+++ Xaw3d-1.5E/xc/lib/Xaw3d/TextPop.c 2008-10-06 11:42:13.000000000 +0200
-@@ -66,6 +66,8 @@ in this Software without prior written a
- #include <X11/Xos.h> /* for O_RDONLY */
- #include <errno.h>
-
-+#include "XawAlloc.h"
-+
- #ifdef X_NOT_STDC_ENV
- extern int errno;
- #endif
-@@ -809,6 +811,8 @@ DoSearch(search)
- struct SearchAndReplace * search;
- {
- char msg[BUFSIZ];
-+ char *pmsg;
-+ int len;
- Widget tw = XtParent(search->search_popup);
- XawTextPosition pos;
- XawTextScanDirection dir;
-@@ -835,9 +839,20 @@ struct SearchAndReplace * search;
- /* The Raw string in find.ptr may be WC I can't use here, so I re - call
- GetString to get a tame version. */
-
-- if (pos == XawTextSearchError)
-- (void) sprintf( msg, "Could not find string ``%s''.", GetString( search->search_text ) );
-- else {
-+ if (pos == XawTextSearchError) {
-+ char *msg1 = "Could not find string ``";
-+ char *msg2 = "''.";
-+ len = strlen(msg1) + strlen(msg2) +
-+ strlen(GetString( search->search_text )) + 1;
-+ pmsg = XtStackAlloc(len, msg);
-+ if (pmsg != NULL) {
-+ (void) sprintf( pmsg, "%s%s%s", msg1, GetString( search->search_text ),
-+ msg2);
-+ } else {
-+ pmsg = msg;
-+ (void) sprintf( pmsg, "Could not find string");
-+ }
-+ } else {
- if (dir == XawsdRight)
- XawTextSetInsertionPoint( tw, pos + text.length);
- else
-@@ -849,7 +864,8 @@ struct SearchAndReplace * search;
- }
-
- XawTextUnsetSelection(tw);
-- SetSearchLabels(search, msg, "", TRUE);
-+ SetSearchLabels(search, pmsg, "", TRUE);
-+ XtStackFree(pmsg, msg);
- return(FALSE);
- }
-
-@@ -982,13 +998,26 @@ Boolean once_only, show_current;
- if ( (new_pos == XawTextSearchError) ) {
- if (count == 0) {
- char msg[BUFSIZ];
-+ char *pmsg;
-+ int len;
-+ char *msg1 = "*** Error: Could not find string ``";
-+ char *msg2 = "''. ***";
-
- /* The Raw string in find.ptr may be WC I can't use here,
- so I call GetString to get a tame version.*/
-
-- (void) sprintf( msg, "%s %s %s", "*** Error: Could not find string ``",
-- GetString( search->search_text ), "''. ***");
-- SetSearchLabels(search, msg, "", TRUE);
-+ len = strlen(msg1) + strlen(msg2) +
-+ strlen(GetString( search->search_text )) + 1;
-+ pmsg = XtStackAlloc(len, msg);
-+ if (pmsg != NULL) {
-+ (void) sprintf( pmsg, "%s%s%s", msg1,
-+ GetString( search->search_text ), msg2);
-+ } else {
-+ pmsg = msg;
-+ (void) sprintf(pmsg, "*** Error: Could not find string ***");
-+ }
-+ SetSearchLabels(search, pmsg, "", TRUE);
-+ XtStackFree(pmsg, msg);
- return(FALSE);
- }
- else
-@@ -1011,9 +1040,22 @@ Boolean once_only, show_current;
-
- if (XawTextReplace(tw, pos, end_pos, &replace) != XawEditDone) {
- char msg[BUFSIZ];
--
-- (void) sprintf( msg, "'%s' with '%s'. ***", find.ptr, replace.ptr);
-+ char *pmsg;
-+ int len;
-+ char *msg1 = "' with '";
-+ char *msg2 = "'. ***";
-+
-+ len = 1 + strlen(msg1) + strlen(msg2) + strlen(find.ptr) +
-+ strlen(replace.ptr) + 1;
-+ pmsg = XtStackAlloc(len, msg);
-+ if (pmsg != NULL) {
-+ (void) sprintf( pmsg, "`%s%s%s%s", find.ptr, msg1, replace.ptr, msg2);
-+ } else {
-+ pmsg = msg;
-+ (void) sprintf(pmsg, "string ***");
-+ }
- SetSearchLabels(search, "*** Error while replacing", msg, TRUE);
-+ XtStackFree(pmsg, msg);
- return(FALSE);
- }
-
-@@ -1164,13 +1206,20 @@ XtArgVal value;
- {
- Widget temp_widget;
- char buf[BUFSIZ];
-+ char *pbuf;
-+ int len;
-
-- (void) sprintf(buf, "%s.%s", FORM_NAME, name);
-+ len = strlen(FORM_NAME) + strlen(name) + 2;
-+ pbuf = XtStackAlloc(len, buf);
-+ if (pbuf == NULL) return FALSE;
-+ (void) sprintf(pbuf, "%s.%s", FORM_NAME, name);
-
-- if ( (temp_widget = XtNameToWidget(shell, buf)) != NULL) {
-+ if ( (temp_widget = XtNameToWidget(shell, pbuf)) != NULL) {
- SetResource(temp_widget, res_name, value);
-+ XtStackFree(pbuf, buf);
- return(TRUE);
- }
-+ XtStackFree(pbuf, buf);
- return(FALSE);
- }
-
-diff -up /dev/null Xaw3d-1.5E/xc/lib/Xaw3d/XawAlloc.h
---- /dev/null 2008-10-06 08:37:32.418005377 +0200
-+++ Xaw3d-1.5E/xc/lib/Xaw3d/XawAlloc.h 2008-10-06 11:42:13.000000000 +0200
-@@ -0,0 +1,10 @@
-+/* $XFree86: xc/lib/Xaw/XawAlloc.h,v 1.1.2.1 1998/05/16 09:05:23 dawes Exp $ */
-+
-+#define XtStackAlloc(size, stack_cache_array) \
-+ ((size) <= sizeof(stack_cache_array) \
-+ ? (XtPointer)(stack_cache_array) \
-+ : XtMalloc((unsigned)(size)))
-+
-+#define XtStackFree(pointer, stack_cache_array) \
-+ if ((pointer) != ((XtPointer)(stack_cache_array))) XtFree(pointer); else
-+
---- xaw3d-1.5e/xc/lib/Xaw3d/SmeBSB.c 2003-08-04 17:27:58.000000000 +0200
-+++ xaw3d-1.5e/xc/lib/Xaw3d/SmeBSB.c 2003-08-07 15:02:39.000000000 +0200
-@@ -52,6 +52,8 @@
- #include <X11/Xaw3d/Cardinals.h>
- #include <stdio.h>
-
-+#include "XawAlloc.h"
-+
- /* needed for abs() */
- #ifndef X_NOT_STDC_ENV
- #include <stdlib.h>
-@@ -712,6 +714,8 @@
- int x, y;
- unsigned int width, height, bw;
- char buf[BUFSIZ];
-+ char *pbuf;
-+ int len;
-
- if (is_left) {
- width = height = 0;
-@@ -720,18 +724,24 @@
- if (!XGetGeometry(XtDisplayOfObject(w),
- entry->sme_bsb.left_bitmap, &root, &x, &y,
- &width, &height, &bw, &entry->sme_bsb.left_depth)) {
-- (void) sprintf(buf, "Xaw SmeBSB Object: %s %s \"%s\".",
-- "Could not get Left Bitmap",
-- "geometry information for menu entry",
-- XtName(w));
-- XtAppError(XtWidgetToApplicationContext(w), buf);
-+ char *err1 = "Xaw SmeBSB Object: Could not get Left Bitmap geometry information for menu entry ";
-+ len = strlen(err1) + strlen(XtName(w)) + 3 + 1;
-+ pbuf = XtStackAlloc(len, buf);
-+ if (pbuf == NULL) return;
-+ sprintf(pbuf, "%s\"%s\".", err1, XtName(w));
-+ XtAppError(XtWidgetToApplicationContext(w), pbuf);
-+ XtStackFree(pbuf, buf);
- }
- #ifdef NEVER
- if (entry->sme_bsb.left_depth != 1) {
-- (void) sprintf(buf, "Xaw SmeBSB Object: %s \"%s\" %s.",
-- "Left Bitmap of entry", XtName(w),
-- "is not one bit deep");
-- XtAppError(XtWidgetToApplicationContext(w), buf);
-+ char *err1 = "Xaw SmeBSB Object: Left Bitmap of entry ";
-+ char *err2 = " is not one bit deep.";
-+ len = strlen(err1) + strlen(err2) + strlen(XtName(w)) + 2 + 1;
-+ pbuf = XtStackAlloc(len, buf);
-+ if (pbuf == NULL) return;
-+ sprintf(pbuf, "%s\"%s\"%s", err1, XtName(w), err2);
-+ XtAppError(XtWidgetToApplicationContext(w), pbuf);
-+ XtStackFree(pbuf, buf);
- }
- #endif
- }
-@@ -745,18 +755,24 @@
- if (!XGetGeometry(XtDisplayOfObject(w),
- entry->sme_bsb.right_bitmap, &root, &x, &y,
- &width, &height, &bw, &entry->sme_bsb.right_depth)) {
-- (void) sprintf(buf, "Xaw SmeBSB Object: %s %s \"%s\".",
-- "Could not get Right Bitmap",
-- "geometry information for menu entry",
-- XtName(w));
-- XtAppError(XtWidgetToApplicationContext(w), buf);
-+ char *err1 = "Xaw SmeBSB Object: Could not get Right Bitmap geometry information for menu entry ";
-+ len = strlen(err1) + strlen(XtName(w)) + 3 + 1;
-+ pbuf = XtStackAlloc(len, buf);
-+ if (pbuf == NULL) return;
-+ sprintf(pbuf, "%s\"%s\".", err1, XtName(w));
-+ XtAppError(XtWidgetToApplicationContext(w), pbuf);
-+ XtStackFree(pbuf, buf);
- }
- #ifdef NEVER
- if (entry->sme_bsb.right_depth != 1) {
-- (void) sprintf(buf, "Xaw SmeBSB Object: %s \"%s\" %s.",
-- "Right Bitmap of entry", XtName(w),
-- "is not one bit deep");
-- XtAppError(XtWidgetToApplicationContext(w), buf);
-+ char *err1 = "Xaw SmeBSB Object: Right Bitmap of entry ";
-+ char *err2 = " is not one bit deep.";
-+ len = strlen(err1) + strlen(err2) + strlen(XtName(w)) + 2 + 1;
-+ pbuf = XtStackAlloc(len, buf);
-+ if (pbuf == NULL) return;
-+ sprintf(pbuf, "%s\"%s\"%s", err1, XtName(w), err2);
-+ XtAppError(XtWidgetToApplicationContext(w), pbuf);
-+ XtStackFree(pbuf, buf);
- }
- #endif
- }
diff --git a/source/x/xaw3d/Xaw3d-1.5E.diff b/source/x/xaw3d/Xaw3d-1.5E.diff
deleted file mode 100644
index e476b5c4..00000000
--- a/source/x/xaw3d/Xaw3d-1.5E.diff
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -up Xaw3d-1.5E/xc/lib/Xaw3d/Scrollbar.c.orig Xaw3d-1.5E/xc/lib/Xaw3d/Scrollbar.c
---- Xaw3d-1.5E/xc/lib/Xaw3d/Scrollbar.c.orig 2003-02-10 18:22:26.000000000 +0100
-+++ Xaw3d-1.5E/xc/lib/Xaw3d/Scrollbar.c 2008-10-06 10:07:46.000000000 +0200
-@@ -1087,7 +1087,11 @@ static void NotifyThumb (w, event, param
- Cardinal *num_params; /* unused */
- {
- register ScrollbarWidget sbw = (ScrollbarWidget) w;
-- float top = sbw->scrollbar.top;
-+ union {
-+ XtPointer pt;
-+ float top;
-+ } foo;
-+ foo.top = sbw->scrollbar.top;
-
- #ifndef XAW_ARROW_SCROLLBARS
- if (sbw->scrollbar.direction == 0) return; /* if no StartScroll */
-@@ -1116,10 +1120,10 @@ static void NotifyThumb (w, event, param
- /* Removed the dependancy on scrollbar arrows. Xterm as distributed in
- X11R6.6 by The XFree86 Project wants this correction, with or without
- the arrows. */
-- top += 0.0001;
-+ foo.top += 0.0001;
- /* #endif */
-- XtCallCallbacks (w, XtNthumbProc, *(XtPointer*)&top);
-- XtCallCallbacks (w, XtNjumpProc, (XtPointer)&top);
-+ XtCallCallbacks (w, XtNthumbProc, foo.pt);
-+ XtCallCallbacks (w, XtNjumpProc, (XtPointer)&sbw->scrollbar.top);
- }
-
-
diff --git a/source/x/xaw3d/pull-xaw3d.sh b/source/x/xaw3d/pull-xaw3d.sh
new file mode 100755
index 00000000..96141a6d
--- /dev/null
+++ b/source/x/xaw3d/pull-xaw3d.sh
@@ -0,0 +1,7 @@
+rm -rf xaw3d
+git clone git://gitorious.org/xaw3d/xaw3d.git
+( cd xaw3d && rm -rf .git* )
+mv xaw3d xaw3d-$(date +%Y%m%d)git
+tar cf xaw3d-$(date +%Y%m%d)git.tar xaw3d-$(date +%Y%m%d)git
+xz -9 xaw3d-$(date +%Y%m%d)git.tar
+
diff --git a/source/x/xaw3d/xaw3d.SlackBuild b/source/x/xaw3d/xaw3d.SlackBuild
index 2991fe7a..1574d7f3 100755
--- a/source/x/xaw3d/xaw3d.SlackBuild
+++ b/source/x/xaw3d/xaw3d.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2011 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,11 +21,20 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=${VERSION:-1.5E}
-ARCH=${ARCH:-x86_64}
-NUMJOBS=${NUMJOBS:-" -j7 "}
+PKGNAM=xaw3d
+VERSION=${VERSION:-20110415git}
BUILD=${BUILD:-1}
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
@@ -37,6 +46,8 @@ elif [ "$ARCH" = "x86_64" ]; then
LIBDIRSUFFIX="64"
fi
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-xaw3d
@@ -44,11 +55,9 @@ rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-rm -rf $TMP/xc
-tar xvf $CWD/Xaw3d-$VERSION.tar.gz || exit 1
-( cd xc ; zcat $CWD/Xaw3d-$VERSION.diff.gz | patch -p2 --verbose --backup --suffix=.orig )
-( cd xc ; zcat $CWD/Xaw3d-1.5-debian-fixes.diff.gz | patch -p2 --verbose --backup --suffix=.orig )
-cd xc
+rm -rf $TMP/xaw3d-$VERSION
+tar xvf $CWD/xaw3d-$VERSION.tar.?z* || exit 1
+cd xaw3d-$VERSION/xc || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -60,35 +69,19 @@ cd lib/Xaw3d
ln -s .. X11
xmkmf
make CCOPTIONS="$SLKCFLAGS -I." || exit 1
-strip --strip-unneeded libXaw3d.so.8.0
-mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}
-cat libXaw3d.so.8.0 > $PKG/usr/lib${LIBDIRSUFFIX}/libXaw3d.so.8.0
-chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/libXaw3d.so.8.0
-# Make compat symlinks:
+make install DESTDIR=$PKG
+
+strip --strip-unneeded $PKG/usr/lib${LIBDIRSUFFIX}/libXaw3d.so.*
+# Make compat symlinks. For whatever reason, Xaw3d has had more random
+# numbers assigned to it over the years than about anything, so we need
+# to make links that work for at least .6 and .8 in addition to .7.
( cd $PKG/usr/lib${LIBDIRSUFFIX}
- ln -sf libXaw3d.so.8.0 libXaw3d.so.8
- ln -sf libXaw3d.so.8 libXaw3d.so
- ln -sf libXaw3d.so.8 libXaw3d.so.7
+ ln -sf libXaw3d.so.7 libXaw3d.so.8
ln -sf libXaw3d.so.7 libXaw3d.so.6
)
mkdir -p $PKG/usr/doc/Xaw3d-$VERSION
cp -a README.XAW3D $PKG/usr/doc/Xaw3d-$VERSION
chmod 644 $PKG/usr/doc/Xaw3d-$VERSION/README.XAW3D
-mkdir -p $PKG/usr/include/X11/Xaw3d
-for header in AllWidgets.h AsciiSink.h AsciiSinkP.h AsciiSrc.h AsciiSrcP.h \
-AsciiText.h AsciiTextP.h Box.h BoxP.h Cardinals.h Command.h CommandP.h \
-Dialog.h DialogP.h Form.h FormP.h Grip.h GripP.h Label.h LabelP.h Layout.h \
-LayoutP.h List.h ListP.h MenuButton.h MenuButtoP.h MultiSrc.h MultiSrcP.h \
-MultiSink.h MultiSinkP.h Paned.h PanedP.h Panner.h PannerP.h Porthole.h \
-PortholeP.h Repeater.h RepeaterP.h Reports.h Scrollbar.h ScrollbarP.h \
-Simple.h SimpleP.h SimpleMenu.h SimpleMenP.h Sme.h SmeP.h SmeBSB.h SmeBSBP.h \
-SmeLine.h SmeLineP.h SmeThreeD.h SmeThreeDP.h StripChart.h StripCharP.h \
-Template.c Template.h TemplateP.h Text.h TextP.h TextSink.h TextSinkP.h \
-TextSrc.h TextSrcP.h ThreeD.h ThreeDP.h Tip.h TipP.h Toggle.h ToggleP.h Tree.h \
-TreeP.h VendorEP.h Viewport.h ViewportP.h Xaw3dP.h XawImP.h XawInit.h ; do
- cp -a $header $PKG/usr/include/X11/Xaw3d/$header
- chmod 644 $PKG/usr/include/X11/Xaw3d/$header
-done
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc