From 833ae1c216dea2fd3729064d9d34552e015f20db Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 02:48:41 +0000 Subject: [PATCH] auto-import changelog data from Xaw3d-1.5-7.src.rpm Mon Jul 24 2000 Bill Nottingham - ia64 tweaks Wed Jul 12 2000 Prospector - automatic rebuild Mon Jul 10 2000 Bernhard Rosenkraenzer - Restore Xaw3d 1.5 - the addition of the backward compatibility library killed the current one. - get rid of the CDEBUGFLAGS="" hack, the current gcc fixes it Mon Jul 03 2000 Than Ngo - fix Imakefile to static Xawd3d Sat Jun 17 2000 Than Ngo - add backward compatibility libXaw3d.so.6 (Bug# 12261) Mon May 15 2000 Bill Nottingham - fix unaligned traps on ia64 Mon May 08 2000 Bernhard Rosenkraenzer - 1.5 Sun Mar 21 1999 Cristian Gafton - auto rebuild in the new build environment (release 21) Wed Feb 24 1999 Preston Brown - Injected new description and group. Fri Dec 18 1998 Preston Brown - bumped spec number for initial rh 6.0 build Fri Nov 06 1998 Preston Brown - added security/update patch from debian (the X11R6.3 patch). Thanks guys. :) Wed Oct 14 1998 Cristian Gafton - handle the symlink with triggers instead of getting rid of it Mon Oct 05 1998 Jeff Johnson - remove backward compatible symlink. Wed May 06 1998 Cristian Gafton - fixed the bad symlink - BuildRoot Mon Apr 27 1998 Prospector System - translations modified for de, fr, tr Tue Nov 04 1997 Erik Troan - don't lave an improper return code from %pre Mon Nov 03 1997 Cristian Gafton - take care of the old location of the Xaw3d includes in case that one exist - updated Prereq: field Sun Oct 26 1997 Cristian Gafton - minor spec file cleanups Wed Oct 01 1997 Erik Troan - i18n widec.h patch needs to be applied on all systems Sun Sep 14 1997 Erik Troan - changed axp check to alpha Mon Jun 16 1997 Erik Troan - built against glibc --- .cvsignore | 2 + Imakefile | 232 ++++++++++ Xaw3d-1.3-X11R6.3.patch | 970 ++++++++++++++++++++++++++++++++++++++++ Xaw3d-1.3-glibc.patch | 21 + Xaw3d-ia64.patch | 32 ++ Xaw3d.spec | 202 +++++++++ sources | 2 + xaw3d.patch | 30 ++ 8 files changed, 1491 insertions(+) create mode 100644 Imakefile create mode 100644 Xaw3d-1.3-X11R6.3.patch create mode 100644 Xaw3d-1.3-glibc.patch create mode 100644 Xaw3d-ia64.patch create mode 100644 Xaw3d.spec create mode 100644 xaw3d.patch diff --git a/.cvsignore b/.cvsignore index e69de29..9d9bc05 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1,2 @@ +Xaw3d-1.3.tar.gz +Xaw3d-1.5.tar.gz diff --git a/Imakefile b/Imakefile new file mode 100644 index 0000000..ebd0e6b --- /dev/null +++ b/Imakefile @@ -0,0 +1,232 @@ +XCOMM $XConsortium: Imakefile,v 1.78 91/09/18 14:28:23 rws Exp $ +#undef ForceNormalLib +#define ForceNormalLib YES +#define DoNormalLib NormalLibXaw6 +#define DoSharedLib SharedLibXaw6 +#define DoExtraLib SharedLibXaw6 +#define DoDebugLib DebugLibXaw6 +#define DoProfileLib ProfileLibXaw6 +#define HasSharedData YES +#define LibName Xaw3d +#define SoRev SOXAW6REV +#define LibHeaders NO +#define NoSoSymlink + +#ifdef SharedXaw6Reqs +REQUIREDLIBS = SharedXaw6Reqs +#endif + +DEFINES = XawI18nDefines -DOLDXAW +EXTRA_INCLUDES = -I. + + + LINTLIBS = $(LINTXLIB) $(LINTXTOOL) + +# EXTRA_DEFINES = -DARROW_SCROLLBAR -DUSEGRAY + +# EXTRA_INCLUDES = -I. + +HEADERS = \ + 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 \ + Toggle.h \ + ToggleP.h \ + Tree.h \ + TreeP.h \ + VendorEP.h \ + Viewport.h \ + ViewportP.h \ + XawImP.h \ + XawInit.h + +SRCS = \ + AllWidgets.c \ + AsciiSink.c \ + AsciiSrc.c \ + AsciiText.c \ + Box.c \ + Command.c \ + Dialog.c \ + Form.c \ + Grip.c \ + Label.c \ + Layout.c \ + List.c \ + MenuButton.c \ + MultiSrc.c \ + MultiSink.c \ + Paned.c \ + Panner.c \ + Porthole.c \ + Repeater.c \ + Scrollbar.c \ + Simple.c \ + SimpleMenu.c \ + Sme.c \ + SmeBSB.c \ + SmeLine.c \ + SmeThreeD.c \ + StripChart.c \ + Text.c \ + TextSink.c \ + TextSrc.c \ + TextAction.c \ + TextPop.c \ + TextTr.c \ + ThreeD.c \ + Toggle.c \ + Tree.c \ + Vendor.c \ + Viewport.c \ + XawIm.c \ + XawInit.c \ + XawI18n.c \ + sharedlib.c \ + laygram.c \ + laylex.c + +#if SharedDataSeparation +UNSHAREDOBJS = AllWidgets.o sharedlib.o +#endif + +OBJS = \ + AllWidgets.o \ + AsciiSink.o \ + AsciiSrc.o \ + AsciiText.o \ + Box.o \ + Command.o \ + Dialog.o \ + Form.o \ + Grip.o \ + Label.o \ + Layout.o \ + List.o \ + MenuButton.o \ + MultiSrc.o \ + MultiSink.o \ + Paned.o \ + Panner.o \ + Porthole.o \ + Repeater.o \ + Scrollbar.o \ + Simple.o \ + SimpleMenu.o \ + Sme.o \ + SmeBSB.o \ + SmeLine.o \ + SmeThreeD.o \ + StripChart.o \ + Text.o \ + TextSink.o \ + TextSrc.o \ + TextAction.o \ + TextPop.o \ + TextTr.o \ + ThreeD.o \ + Toggle.o \ + Tree.o \ + Vendor.o \ + Viewport.o \ + XawIm.o \ + XawI18n.o \ + XawInit.o \ + laygram.o \ + laylex.o + +#include + +#ifdef LexCmd +LEX=LexCmd +#endif +#ifdef YaccCmd +YACC=YaccCmd +#endif + +all:: + +depend:: laygram.c laylex.c + +#if DoSharedLib && SharedDataSeparation +SpecialCObjectRule(sharedlib.o,NullParameter,$(SHLIBDEF)) +#endif + +laygram.c : laygram.y + $(YACC) -d laygram.y + sed 's/yy/LayYY/g' y.tab.c > laygram.c + sed 's/yy/LayYY/g' y.tab.h > laygram.h + $(RM) y.tab.c y.tab.h + +laylex.c: laylex.l + $(LEX) laylex.l + sed 's/yy/LayYY/g' lex.yy.c > laylex.c + $(RM) lex.yy.c + +clean:: + $(RM) laygram.c laylex.c + +DependTarget() diff --git a/Xaw3d-1.3-X11R6.3.patch b/Xaw3d-1.3-X11R6.3.patch new file mode 100644 index 0000000..f2ee233 --- /dev/null +++ b/Xaw3d-1.3-X11R6.3.patch @@ -0,0 +1,970 @@ +--- xaw3d-1.3.orig/lib/Xaw3d/AsciiSrc.c ++++ xaw3d-1.3/lib/Xaw3d/AsciiSrc.c +@@ -27,6 +27,8 @@ + + */ + ++/* $XFree86: xc/lib/Xaw/AsciiSrc.c,v 1.1.1.2.4.2 1998/05/16 09:05:19 dawes Exp $ */ ++ + /* + * AsciiSrc.c - AsciiSrc object. (For use with the text widget). + * +@@ -1293,15 +1295,21 @@ + XtQEfile = XrmPermStringToQuark(XtEfile); + } + ++ if (strlen((char *) fromVal->addr) >= sizeof(lowerName)) { ++ XtStringConversionWarning((char *) fromVal->addr, XtRAsciiType); ++ return; ++ } + XmuCopyISOLatin1Lowered(lowerName, (char *) fromVal->addr); + q = XrmStringToQuark(lowerName); + + if (q == XtQEstring) type = XawAsciiString; + if (q == XtQEfile) type = XawAsciiFile; +- +- (*toVal).size = sizeof(XawAsciiType); +- (*toVal).addr = (XPointer) &type; +- return; ++ if (q == XtQEstring || q == XtQEfile) { ++ (*toVal).size = sizeof(XawAsciiType); ++ (*toVal).addr = (XPointer) &type; ++ return; ++ } ++ XtStringConversionWarning((char *) fromVal->addr, XtRAsciiType); + } + + #if (defined(ASCII_STRING) || defined(ASCII_DISK)) +--- xaw3d-1.3.orig/lib/Xaw3d/AsciiSrcP.h ++++ xaw3d-1.3/lib/Xaw3d/AsciiSrcP.h +@@ -50,6 +50,7 @@ + SOFTWARE. + + ******************************************************************/ ++/* $XFree86: xc/lib/Xaw/AsciiSrcP.h,v 1.1.1.1.12.1 1998/05/19 07:31:43 dawes Exp $ */ + + /* + * AsciiSrcP.h - Private Header for Ascii Text Source. +@@ -85,7 +86,11 @@ + #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. */ +--- xaw3d-1.3.orig/lib/Xaw3d/Form.c ++++ xaw3d-1.3/lib/Xaw3d/Form.c +@@ -48,6 +48,8 @@ + + ******************************************************************/ + ++/* $XFree86: xc/lib/Xaw/Form.c,v 1.1.1.1.12.2 1998/05/16 09:05:19 dawes Exp $ */ ++ + #include + #include + #include +@@ -185,6 +187,10 @@ + XrmQuark q; + char lowerName[1000]; + ++ if (strlen((char*)fromVal->addr) >= sizeof(lowerName)) { ++ XtStringConversionWarning(fromVal->addr, "edgeType"); ++ return; ++ } + XmuCopyISOLatin1Lowered (lowerName, (char*)fromVal->addr); + q = XrmStringToQuark(lowerName); + if (q == XtQChainLeft) { +--- xaw3d-1.3.orig/lib/Xaw3d/MenuButton.c ++++ xaw3d-1.3/lib/Xaw3d/MenuButton.c +@@ -26,6 +26,7 @@ + * + */ + ++/* $XFree86: xc/lib/Xaw/MenuButton.c,v 3.0.6.2 1998/05/20 05:06:17 dawes Exp $ */ + + /*********************************************************************** + * +@@ -53,6 +54,8 @@ + #include + #include + ++#include "XawAlloc.h" ++ + static void ClassInitialize(); + static void PopupMenu(); + +@@ -179,9 +182,16 @@ + + 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)) +--- xaw3d-1.3.orig/lib/Xaw3d/MultiSrc.c ++++ xaw3d-1.3/lib/Xaw3d/MultiSrc.c +@@ -1440,13 +1440,19 @@ + XtQEfile = XrmPermStringToQuark(XtEfile); + } + ++ if (strlen((char *) fromVal->addr) >= sizeof(lowerName)) { ++ XtStringConversionWarning((char *) fromVal->addr, XtRAsciiType); ++ return; ++ } + XmuCopyISOLatin1Lowered(lowerName, (char *) fromVal->addr); + q = XrmStringToQuark(lowerName); + + if (q == XtQEstring) type = XawAsciiString; + if (q == XtQEfile) type = XawAsciiFile; +- +- (*toVal).size = sizeof(XawAsciiType); +- (*toVal).addr = (XPointer) &type; +- return; ++ if (q == XtQEstring || q == XtQEfile) { ++ (*toVal).size = sizeof(XawAsciiType); ++ (*toVal).addr = (XPointer) &type; ++ return; ++ } ++ XtStringConversionWarning((char *) fromVal->addr, XtRAsciiType); + } +--- xaw3d-1.3.orig/lib/Xaw3d/MultiSrcP.h ++++ xaw3d-1.3/lib/Xaw3d/MultiSrcP.h +@@ -72,6 +72,7 @@ + SOFTWARE. + + ******************************************************************/ ++/* $XFree86: xc/lib/Xaw/MultiSrcP.h,v 1.1.1.1.12.2 1998/05/19 14:36:47 dawes Exp $ */ + + /* + * MultiSrcP.h - Private Header for Multi Text Source. +@@ -113,7 +114,11 @@ + #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. */ +--- xaw3d-1.3.orig/lib/Xaw3d/Simple.c ++++ xaw3d-1.3/lib/Xaw3d/Simple.c +@@ -48,6 +48,8 @@ + + ******************************************************************/ + ++/* $XFree86: xc/lib/Xaw/Simple.c,v 1.1.1.1.12.2 1998/05/18 14:08:41 dawes Exp $ */ ++ + #include + #include + #include +@@ -55,6 +57,8 @@ + #include + #include + ++#include "XawAlloc.h" ++ + #define offset(field) XtOffsetOf(SimpleRec, simple.field) + + static XtResource resources[] = { +@@ -145,11 +149,17 @@ + + 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; + } + +--- xaw3d-1.3.orig/lib/Xaw3d/SimpleMenu.c ++++ xaw3d-1.3/lib/Xaw3d/SimpleMenu.c +@@ -25,6 +25,8 @@ + in this Software without prior written authorization from the X Consortium. + */ + ++/* $XFree86: xc/lib/Xaw/SimpleMenu.c,v 3.1.6.3 1998/05/20 05:06:17 dawes Exp $ */ ++ + /* + * SimpleMenu.c - Source code file for SimpleMenu widget. + * +@@ -47,6 +49,8 @@ + #include + #include + ++#include "XawAlloc.h" ++ + #define streq(a, b) ( strcmp((a), (b)) == 0 ) + + #define offset(field) XtOffsetOf(SimpleMenuRec, simple_menu.field) +@@ -625,9 +629,17 @@ + + 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; + } + +--- xaw3d-1.3.orig/lib/Xaw3d/SmeBSB.c ++++ xaw3d-1.3/lib/Xaw3d/SmeBSB.c +@@ -25,6 +25,8 @@ + in this Software without prior written authorization from the X Consortium. + */ + ++/* $XFree86: xc/lib/Xaw/SmeBSB.c,v 1.1.1.2.2.3 1998/05/20 05:06:18 dawes Exp $ */ ++ + /* + * SmeBSB.c - Source code file for BSB Menu Entry object. + * +@@ -55,6 +57,8 @@ + + #include + ++#include "XawAlloc.h" ++ + #define ONE_HUNDRED 100 + + #define offset(field) XtOffsetOf(SmeBSBRec, sme_bsb.field) +@@ -601,22 +605,31 @@ + int x, y; + unsigned int width, height; + char buf[BUFSIZ]; ++ char *pbuf; ++ int len; + + if (is_left) { + if (entry->sme_bsb.left_bitmap != None) { + if (!XGetGeometry(XtDisplayOfObject(w), + entry->sme_bsb.left_bitmap, &root, + &x, &y, &width, &height, &bw, &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); + } + if (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); + } + entry->sme_bsb.left_bitmap_width = (Dimension) width; + entry->sme_bsb.left_bitmap_height = (Dimension) height; +@@ -626,16 +639,23 @@ + if (!XGetGeometry(XtDisplayOfObject(w), + entry->sme_bsb.right_bitmap, &root, + &x, &y, &width, &height, &bw, &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); + } + if (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); + } + entry->sme_bsb.right_bitmap_width = (Dimension) width; + entry->sme_bsb.right_bitmap_height = (Dimension) height; +--- xaw3d-1.3.orig/lib/Xaw3d/Text.c ++++ xaw3d-1.3/lib/Xaw3d/Text.c +@@ -48,6 +48,8 @@ + + ******************************************************************/ + ++/* $XFree86: xc/lib/Xaw/Text.c,v 3.2.4.2 1998/05/16 09:05:21 dawes Exp $ */ ++ + #include + #include + #include +@@ -72,6 +74,8 @@ + #include + #include /* for isprint() */ + ++#include "XawAlloc.h" ++ + #ifndef MAX_LEN_CT + #define MAX_LEN_CT 6 /* for sequence: ESC $ ( A \xx \xx */ + #endif +@@ -203,6 +207,10 @@ + inited = TRUE; + } + ++ if (strlen((char *)fromVal->addr) >= sizeof(lowerName)) { ++ XtStringConversionWarning((char *) fromVal->addr, XtRScrollMode); ++ return; ++ } + XmuCopyISOLatin1Lowered (lowerName, (char *)fromVal->addr); + q = XrmStringToQuark(lowerName); + +@@ -210,7 +218,7 @@ + else if (q == QScrollWhenNeeded) scrollMode = XawtextScrollWhenNeeded; + else if (q == QScrollAlways) scrollMode = XawtextScrollAlways; + else { +- done(NULL, 0); ++ XtStringConversionWarning((char *) fromVal->addr, XtRScrollMode); + return; + } + done(&scrollMode, XawTextScrollMode); +@@ -238,6 +246,10 @@ + inited = TRUE; + } + ++ if (strlen((char *)fromVal->addr) >= sizeof(lowerName)) { ++ XtStringConversionWarning((char *) fromVal->addr, XtRWrapMode); ++ return; ++ } + XmuCopyISOLatin1Lowered (lowerName, (char *)fromVal->addr); + q = XrmStringToQuark(lowerName); + +@@ -245,7 +257,7 @@ + else if (q == QWrapLine) wrapMode = XawtextWrapLine; + else if (q == QWrapWord) wrapMode = XawtextWrapWord; + else { +- done(NULL, 0); ++ XtStringConversionWarning((char *) fromVal->addr, XtRWrapMode); + return; + } + done(&wrapMode, XawTextWrapMode); +@@ -274,6 +286,10 @@ + inited = TRUE; + } + ++ if (strlen((char *)fromVal->addr) >= sizeof(lowerName)) { ++ XtStringConversionWarning((char *) fromVal->addr, XtRResizeMode); ++ return; ++ } + XmuCopyISOLatin1Lowered (lowerName, (char *)fromVal->addr); + q = XrmStringToQuark(lowerName); + +@@ -282,7 +298,7 @@ + else if (q == QResizeHeight) resizeMode = XawtextResizeHeight; + else if (q == QResizeBoth) resizeMode = XawtextResizeBoth; + else { +- done(NULL, 0); ++ XtStringConversionWarning((char *) fromVal->addr, XtRResizeMode); + return; + } + done(&resizeMode, XawTextResizeMode); +@@ -487,6 +503,8 @@ + { + TextWidget ctx = (TextWidget) new; + char error_buf[BUFSIZ]; ++ char *perr; ++ int len; + + ctx->text.lt.lines = 0; + ctx->text.lt.info = NULL; +@@ -523,10 +541,17 @@ + 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) +@@ -534,18 +559,32 @@ + + 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) +--- xaw3d-1.3.orig/lib/Xaw3d/TextPop.c ++++ xaw3d-1.3/lib/Xaw3d/TextPop.c +@@ -27,6 +27,8 @@ + + */ + ++/* $XFree86: xc/lib/Xaw/TextPop.c,v 1.1.1.2.4.2 1998/05/18 14:08:43 dawes Exp $ */ ++ + /************************************************************ + * + * This file is broken up into three sections one dealing with +@@ -64,6 +66,8 @@ + #include /* for O_RDONLY */ + #include + ++#include "XawAlloc.h" ++ + #ifdef X_NOT_STDC_ENV + extern int errno; + #endif +@@ -805,6 +809,8 @@ + struct SearchAndReplace * search; + { + char msg[BUFSIZ]; ++ char *pmsg; ++ int len; + Widget tw = XtParent(search->search_popup); + XawTextPosition pos; + XawTextScanDirection dir; +@@ -828,9 +834,20 @@ + /* 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 +@@ -842,7 +859,8 @@ + } + + XawTextUnsetSelection(tw); +- SetSearchLabels(search, msg, "", TRUE); ++ SetSearchLabels(search, pmsg, "", TRUE); ++ XtStackFree(pmsg, msg); + return(FALSE); + } + +@@ -969,13 +987,26 @@ + 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 +@@ -998,9 +1029,22 @@ + + 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); + } + +@@ -1151,13 +1195,20 @@ + { + 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); + } + +--- xaw3d-1.3.orig/lib/Xaw3d/TextSrc.c ++++ xaw3d-1.3/lib/Xaw3d/TextSrc.c +@@ -26,6 +26,8 @@ + + */ + ++/* $XFree86: xc/lib/Xaw/TextSrc.c,v 1.1.1.1.12.2 1998/05/16 09:05:22 dawes Exp $ */ ++ + /* + * Author: Chris Peterson, MIT X Consortium. + * Much code taken from X11R3 String and Disk Sources. +@@ -323,6 +325,10 @@ + inited = TRUE; + } + ++ if (strlen((char *)fromVal->addr) >= sizeof(lowerName)) { ++ XtStringConversionWarning((char *) fromVal->addr, XtREditMode); ++ return; ++ } + XmuCopyISOLatin1Lowered (lowerName, (char *)fromVal->addr); + q = XrmStringToQuark(lowerName); + +@@ -330,7 +336,7 @@ + else if (q == QAppend) editType = XawtextAppend; + else if (q == QEdit) editType = XawtextEdit; + else { +- done(NULL, 0); ++ XtStringConversionWarning((char *) fromVal->addr, XtREditMode); + return; + } + done(&editType, XawTextEditType); +--- xaw3d-1.3.orig/lib/Xaw3d/XawIm.c ++++ xaw3d-1.3/lib/Xaw3d/XawIm.c +@@ -224,22 +224,6 @@ + return(ve->ic.input_style); + } + +-static XIMStyle GetInputStyleOfIM( p ) +- String p; +-{ +- if (!p || !*p) +- return((XIMStyle)0); +- if (!strcmp(p, "OverTheSpot")) { +- return((XIMPreeditPosition | XIMStatusArea)); +- } else if (!strcmp(p, "OffTheSpot")) { +- return((XIMPreeditArea | XIMStatusArea)); +- } else if (!strcmp(p, "Root")) { +- return((XIMPreeditNothing | XIMStatusNothing)); +- } else { +- return((XIMStyle)0); +- } +-} +- + static void ConfigureCB( w, closure, event ) + Widget w; + XtPointer closure; +@@ -377,14 +361,6 @@ + if (contextErrData) XtFree((char *)contextErrData); + } + XDeleteContext(XtDisplay(vw), (Window)vw, extContext); +- if (ve->im.im_list) { +- XtFree((char *)ve->im.im_list[0]); +- XtFree((char *)ve->im.im_list); +- } +- if (ve->ic.ic_list) { +- XtFree((char *)ve->ic.ic_list[0]); +- XtFree((char *)ve->ic.ic_list); +- } + if (ve->ic.shared_ic_table) + XtFree((char *)ve->ic.shared_ic_table); + if (ve->im.resources) XtFree((char *)ve->im.resources); +@@ -413,25 +389,51 @@ + static void OpenIM(ve) + XawVendorShellExtPart * ve; + { +- char *p, modifiers[32]; ++ int i; ++ char *p, *s, *ns, *end, *pbuf, buf[32]; + XIM xim = NULL; + XIMStyles *xim_styles; +- XIMStyle input_style; +- int i, j; ++ XIMStyle input_style = 0; ++ Boolean found; + + if (ve->im.open_im == False) return; + ve->im.xim = NULL; +- if (ve->im.im_list_num <= 0) { ++ if (ve->im.input_method == NULL) { + if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p) + xim = XOpenIM(XtDisplay(ve->parent), NULL, NULL, NULL); + } else { +- for (i = 0; i < ve->im.im_list_num; i++) { +- strcpy(modifiers, "@im="); +- strcat(modifiers, ve->im.im_list[i]); +- if ((p = XSetLocaleModifiers(modifiers)) != NULL && *p && +- (xim = XOpenIM(XtDisplay(ve->parent), NULL, NULL, NULL)) != NULL) ++ /* no fragment can be longer than the whole string */ ++ int len = strlen (ve->im.input_method) + 5; ++ ++ if (len < sizeof buf) pbuf = buf; ++ else pbuf = XtMalloc (len); ++ ++ if (pbuf == NULL) return; ++ ++ for(ns=s=ve->im.input_method; ns && *s;) { ++ /* skip any leading blanks */ ++ while (*s && isspace(*s)) s++; ++ if (!*s) break; ++ if ((ns = end = strchr(s, ',')) == NULL) ++ end = s + strlen(s); ++ /* If there is a spurious comma end can be the same as s */ ++ if (end > s) { ++ /* strip any trailing blanks */ ++ while (isspace(*(end - 1))) end--; ++ ++ strcpy (pbuf, "@im="); ++ strncat (pbuf, s, end - s); ++ pbuf[end - s + 4] = '\0'; ++ } ++ ++ if ((p = XSetLocaleModifiers(pbuf)) != NULL && *p ++ && (xim = XOpenIM(XtDisplay(ve->parent), NULL, NULL, NULL)) != NULL) + break; ++ ++ s = ns + 1; + } ++ ++ if (pbuf != buf) XtFree (pbuf); + } + if (xim == NULL) { + if ((p = XSetLocaleModifiers("")) != NULL) { +@@ -450,24 +452,42 @@ + XCloseIM(xim); + return; + } +- for (j = 0; j < ve->ic.ic_list_num; j++) { +- input_style = GetInputStyleOfIM(ve->ic.ic_list[j]); +- if (input_style == (XIMStyle)0) continue; +- for (i = 0; (unsigned short)i < xim_styles->count_styles; i++) { ++ found = False; ++ for(ns = s = ve->im.preedit_type; s && !found;) { ++ while (*s && isspace(*s)) s++; ++ if (!*s) break; ++ if ((ns = end = strchr(s, ',')) == NULL) ++ end = s + strlen(s); ++ else ++ ns++; ++ if (end > s) ++ while (isspace(*(end - 1))) end--; ++ ++ if (!strncmp(s, "OverTheSpot", end - s)) { ++ input_style = (XIMPreeditPosition | XIMStatusArea); ++ } else if (!strncmp(s, "OffTheSpot", end - s)) { ++ input_style = (XIMPreeditArea | XIMStatusArea); ++ } else if (!strncmp(s, "Root", end - s)) { ++ input_style = (XIMPreeditNothing | XIMStatusNothing); ++ } ++ for (i = 0; (unsigned short)i < xim_styles->count_styles; i++) + if (input_style == xim_styles->supported_styles[i]) { + ve->ic.input_style = input_style; + SetErrCnxt(ve->parent, xim); +-/* _XipSetIOErrorHandler(IOErrorHandler); */ + ve->im.xim = xim; +- XFree(xim_styles); +- return; ++ found = True; ++ break; + } +- } ++ ++ s = ns; + } +- XCloseIM(xim); +- XtAppWarning(XtWidgetToApplicationContext(ve->parent), +- "input method doesn't support my input style"); + XFree(xim_styles); ++ ++ if (!found) { ++ XCloseIM(xim); ++ XtAppWarning(XtWidgetToApplicationContext(ve->parent), ++ "input method doesn't support my input style"); ++ } + } + + static Boolean ResizeVendorShell_Core(vw, ve, p) +@@ -1313,48 +1333,6 @@ + #undef xrmres + } + +- +-static char** ParseIMNameList(p, num) +- char* p; +- int* num; +-{ +- char *s, *save_s, *ss, *list[32], **lp, *end; +- int i = 0; +- +- *num = 0; +- if (!p || !*p) return ((char **)NULL); +- while (*p && isspace(*p)) p++; +- if (!*p) return ((char **)NULL); +- if ((s = XtMalloc(strlen(p) + 1)) == NULL) return((char **)NULL); +- strcpy(s, p); +- save_s = s; +- +- while(1) { +- list[i] = s; +- ss = index(s, ','); +- if (!ss) { +- end = s + strlen(s); +- } else { +- end = ss; +- } +- while (isspace(*end)) end--; +- *end = '\0'; +- i++; +- if (!ss) break; +- s = ss + 1; +- while (*s && isspace(*s)) p++; +- if (!*s) break; +- } +- if ((lp = (char **)XtMalloc(sizeof(char *) * (i + 1))) == NULL) { +- XtFree(save_s); +- return((char **)NULL); +- } +- memcpy((char *)lp, (char *)list, sizeof(char *) * i); +- *(lp + i) = NULL; +- *num = i; +- return(lp); +-} +- + static Boolean Initialize( vw, ve ) + VendorShellWidget vw; + XawVendorShellExtPart* ve; +@@ -1375,10 +1353,6 @@ + return(FALSE); + ve->ic.current_ic_table = NULL; + ve->ic.ic_table = NULL; +- ve->im.im_list = ParseIMNameList(ve->im.input_method, &i); +- ve->im.im_list_num = i; +- ve->ic.ic_list = ParseIMNameList(ve->im.preedit_type, &i); +- ve->ic.ic_list_num = i; + return(TRUE); + } + +@@ -1676,10 +1650,10 @@ + + if ((vw = SearchVendorShell(inwidg)) && (ve = GetExtPart(vw)) && + ve->im.xim && (p = GetIcTableShared(inwidg, ve)) && p->xic) { +- return(XwcLookupString(p->xic, event, buffer_return, bytes_buffer, ++ return(XwcLookupString(p->xic, event, buffer_return, bytes_buffer/sizeof(wchar_t), + keysym_return, status_return)); + } +- ret = XLookupString( event, tmp_buf, 64, keysym_return, ++ ret = XLookupString( event, tmp_buf, sizeof(tmp_buf), keysym_return, + (XComposeStatus*) status_return ); + for ( i = 0, tmp_p = tmp_buf, buf_p = buffer_return; i < ret; i++ ) { + *buf_p++ = _Xaw_atowc(*tmp_p++); +--- xaw3d-1.3.orig/lib/Xaw3d/XawImP.h ++++ xaw3d-1.3/lib/Xaw3d/XawImP.h +@@ -85,8 +85,6 @@ + Dimension area_height; + String input_method; + String preedit_type; +- String *im_list; +- Cardinal im_list_num; + } XawImPart; + + typedef struct _XawIcTablePart +@@ -109,8 +107,6 @@ + + typedef struct _XawIcPart + { +- String *ic_list; +- Cardinal ic_list_num; + XIMStyle input_style; + Boolean shared_ic; + XawIcTableList shared_ic_table; +--- xaw3d-1.3.orig/lib/Xaw3d/XawAlloc.h ++++ xaw3d-1.3/lib/Xaw3d/XawAlloc.h +@@ -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.3.orig/lib/Xaw3d/laygram.h ++++ xaw3d-1.3/lib/Xaw3d/laygram.h +@@ -0,0 +1,36 @@ ++typedef union { ++ int ival; ++ XrmQuark qval; ++ BoxPtr bval; ++ BoxParamsPtr pval; ++ GlueRec gval; ++ LayoutDirection lval; ++ ExprPtr eval; ++ Operator oval; ++} YYSTYPE; ++#define OC 258 ++#define CC 259 ++#define OA 260 ++#define CA 261 ++#define OP 262 ++#define CP 263 ++#define NAME 264 ++#define NUMBER 265 ++#define INFINITY 266 ++#define VERTICAL 267 ++#define HORIZONTAL 268 ++#define EQUAL 269 ++#define DOLLAR 270 ++#define PLUS 271 ++#define MINUS 272 ++#define TIMES 273 ++#define DIVIDE 274 ++#define PERCENTOF 275 ++#define PERCENT 276 ++#define WIDTH 277 ++#define HEIGHT 278 ++#define UMINUS 279 ++#define UPLUS 280 ++ ++ ++extern YYSTYPE LayYYlval; diff --git a/Xaw3d-1.3-glibc.patch b/Xaw3d-1.3-glibc.patch new file mode 100644 index 0000000..b52f5e7 --- /dev/null +++ b/Xaw3d-1.3-glibc.patch @@ -0,0 +1,21 @@ +--- Xaw3d-1.3/xc/lib/Xaw3d/XawI18n.h.orig Tue Aug 29 07:00:21 1995 ++++ Xaw3d-1.3/xc/lib/Xaw3d/XawI18n.h Tue Nov 19 02:22:09 1996 +@@ -27,12 +27,18 @@ + + ********************************************************/ + ++#if 0 + #ifdef HAS_WCTYPE_H + #include ++#if !defined(__linux__) + #include ++#endif ++#endif + #define wcslen(c) wslen(c) + #define wcscpy(d,s) wscpy(d,s) + #define wcsncpy(d,s,l) wsncpy(d,s,l) ++#if 0 ++#endif + #endif + + #ifdef HAS_WCHAR_H diff --git a/Xaw3d-ia64.patch b/Xaw3d-ia64.patch new file mode 100644 index 0000000..18a2060 --- /dev/null +++ b/Xaw3d-ia64.patch @@ -0,0 +1,32 @@ +--- Xaw3d-1.5/xc/lib/Xaw3d/List.c~ Tue Oct 15 16:41:20 1996 ++++ Xaw3d-1.5/xc/lib/Xaw3d/List.c Mon Jul 24 16:55:29 2000 +@@ -37,6 +37,7 @@ + */ + + #include ++#include + #include + + #include +--- Xaw3d-1.5/xc/lib/Xaw3d/MultiSink.c~ Tue Oct 15 16:41:20 1996 ++++ Xaw3d-1.5/xc/lib/Xaw3d/MultiSink.c Mon Jul 24 16:58:09 2000 +@@ -81,6 +81,7 @@ + #include + #include "XawI18n.h" + #include ++#include + #include + + #ifdef GETLASTPOS +--- Xaw3d-1.5/xc/lib/Xaw3d/Text.c~ Thu May 14 21:03:24 1998 ++++ Xaw3d-1.5/xc/lib/Xaw3d/Text.c Mon Jul 24 17:00:54 2000 +@@ -71,6 +71,7 @@ + + #include + #include /* for isprint() */ ++#include /* for abs() */ + + #ifndef MAX_LEN_CT + #define MAX_LEN_CT 6 /* for sequence: ESC $ ( A \xx \xx */ + + diff --git a/Xaw3d.spec b/Xaw3d.spec new file mode 100644 index 0000000..98c8ccd --- /dev/null +++ b/Xaw3d.spec @@ -0,0 +1,202 @@ +Summary: A version of the MIT Athena widget set for X. +Name: Xaw3d +Version: 1.5 +Release: 7 +Group: System Environment/Libraries +Source: ftp://ftp.x.org/contrib/widgets/Xaw3d/R6.3/Xaw3d-%{version}.tar.gz +Source1: ftp://ftp.x.org/contrib/widgets/Xaw3d/R6/Xaw3d-1.3.tar.gz +Source2: Imakefile +Url: ftp://ftp.x.org/contrib/widgets/Xaw3d/ +Patch: Xaw3d-1.1-shlib.patch +Patch1: Xaw3d-1.3-glibc.patch +Patch2: Xaw3d-1.3-X11R6.3.patch +Patch3: xaw3d.patch +Patch4: Xaw3d-1.3-static.patch +Patch5: Xaw3d-ia64.patch +Copyright: MIT +Prefix: /usr +Prereq: fileutils +BuildRoot: %{_tmppath}/%{name}-root + +%description +Xaw3d is an enhanced version of the MIT Athena Widget set for +the X Window System. Xaw3d adds a three-dimensional look to applications +with minimal or no source code changes. + +You should install Xaw3d if you are using applications which incorporate +the MIT Athena widget set and you'd like to incorporate a 3D look into +those applications. + +%package devel +Summary: Header files and static libraries for development using Xaw3d. +Group: Development/Libraries +Requires: Xaw3d + +%description devel +Xaw3d is an enhanced version of the MIT Athena widget set for +the X Window System. Xaw3d adds a three-dimensional look to those +applications with minimal or no source code changes. Xaw3d-devel includes +the header files and static libraries for developing programs that take +full advantage of Xaw3d's features. + +You should install Xaw3d-devel if you are going to develop applications +using the Xaw3d widget set. You'll also need to install the Xaw3d +package. + +%prep +%setup -q -c +%ifnarch ia64 +mkdir old +cd old +tar xzf %{SOURCE1} +cd .. +mv old/xc/lib/Xaw3d xc/lib/Xaw3d6 +rm -rf old +%endif + +cd xc/lib/Xaw3d +%patch -p0 +ln -s .. X11 +%patch1 -p4 +%patch3 -p4 +%patch4 -p0 +%patch5 -p4 + +%ifnarch ia64 +cd ../Xaw3d6 +%patch -p0 +ln -s .. X11 +%patch1 -p4 +%patch2 -p3 +%patch3 -p4 +%patch4 -p0 +%endif + +%build +cp %{SOURCE2} xc/lib/Xaw3d6 + +cd xc/lib/Xaw3d +export PATH=/usr/X11R6/bin:$PATH +xmkmf +%ifarch alpha +# alpha was giving internal compiler errors... +make CDEBUGFLAGS="" +%else +make +%endif + +%ifnarch ia64 +# compat libs +cd ../Xaw3d6 +xmkmf +make +%endif + +%install +rm -rf $RPM_BUILD_ROOT +cd xc/lib/Xaw3d +make install DESTDIR=$RPM_BUILD_ROOT +%ifnarch ia64 +cd ../Xaw3d6 +cp -aR libXaw*so.* $RPM_BUILD_ROOT/usr/X11R6/lib +%endif +ln -s X11/Xaw3d $RPM_BUILD_ROOT/usr/X11R6/include + +%clean +rm -rf $RPM_BUILD_ROOT + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%post devel +if [ ! -d /usr/X11R6/include/Xaw3d ] ; then + rm -f /usr/X11R6/include/Xaw3d + ln -sf X11/Xaw3d /usr/X11R6/include +fi + +%triggerpostun -- Xaw3d-devel < 1.5-5 +[ -d /usr/X11R6/include/Xaw3d ] && rm -rf /usr/X11R6/include/Xaw3d +ln -sf X11/Xaw3d /usr/X11R6/include + +%files +%defattr(-,root,root) +/usr/X11R6/lib/*.so.* + +%files devel +%defattr(-,root,root) +/usr/X11R6/lib/*.a +/usr/X11R6/lib/*.so +/usr/X11R6/include/X11/Xaw3d +%ghost /usr/X11R6/include/Xaw3d + +%changelog +* Mon Jul 24 2000 Bill Nottingham +- ia64 tweaks + +* Wed Jul 12 2000 Prospector +- automatic rebuild + +* Mon Jul 10 2000 Bernhard Rosenkraenzer +- Restore Xaw3d 1.5 - the addition of the backward compatibility library + killed the current one. +- get rid of the CDEBUGFLAGS="" hack, the current gcc fixes it + +* Mon Jul 03 2000 Than Ngo +- fix Imakefile to static Xawd3d + +* Sat Jun 17 2000 Than Ngo +- add backward compatibility libXaw3d.so.6 (Bug# 12261) + +* Mon May 15 2000 Bill Nottingham +- fix unaligned traps on ia64 + +* Mon May 8 2000 Bernhard Rosenkraenzer +- 1.5 + +* Sun Mar 21 1999 Cristian Gafton +- auto rebuild in the new build environment (release 21) + +* Wed Feb 24 1999 Preston Brown +- Injected new description and group. + +* Fri Dec 18 1998 Preston Brown +- bumped spec number for initial rh 6.0 build + +* Fri Nov 06 1998 Preston Brown +- added security/update patch from debian (the X11R6.3 patch). Thanks guys. :) + +* Wed Oct 14 1998 Cristian Gafton +- handle the symlink with triggers instead of getting rid of it + +* Mon Oct 5 1998 Jeff Johnson +- remove backward compatible symlink. + +* Wed May 06 1998 Cristian Gafton +- fixed the bad symlink +- BuildRoot + +* Mon Apr 27 1998 Prospector System +- translations modified for de, fr, tr + +* Tue Nov 04 1997 Erik Troan +- don't lave an improper return code from %pre + +* Mon Nov 03 1997 Cristian Gafton +- take care of the old location of the Xaw3d includes in case that one exist +- updated Prereq: field + +* Mon Oct 26 1997 Cristian Gafton +- minor spec file cleanups + +* Wed Oct 01 1997 Erik Troan +- i18n widec.h patch needs to be applied on all systems + +* Sun Sep 14 1997 Erik Troan +- changed axp check to alpha + +* Mon Jun 16 1997 Erik Troan +- built against glibc diff --git a/sources b/sources index e69de29..1cb4d74 100644 --- a/sources +++ b/sources @@ -0,0 +1,2 @@ +9eaac2b8cae978f3a740ebb6933b898e Xaw3d-1.3.tar.gz +a77aa4ebe3be7964e4dbbc351e48277f Xaw3d-1.5.tar.gz diff --git a/xaw3d.patch b/xaw3d.patch new file mode 100644 index 0000000..e78e812 --- /dev/null +++ b/xaw3d.patch @@ -0,0 +1,30 @@ +--- Xaw3d-1.5/xc/lib/Xaw3d/Scrollbar.c Tue Oct 15 07:41:21 1996 ++++ Xaw3d-1.5.ia64/xc/lib/Xaw3d/Scrollbar.c Tue May 9 07:02:52 2000 +@@ -1178,7 +1178,11 @@ + 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 ARROW_SCROLLBAR + if (sbw->scrollbar.direction == 0) return; /* if no StartScroll */ +@@ -1204,10 +1208,10 @@ + there is no problem since in this case there is always a constant + integer number of pixels the thumb must be moved in order to scroll + to the next line/column. */ +- 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); + } + + +