Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37725219
en ru br
ALT Linux repos
S:1.6.5-alt1
5.0: 1.5e-alt2
4.1: 1.5e-alt1
4.0: 1.5e-alt1
3.0: 1.5-alt2

Group :: System/Libraries
RPM: libXaw3d

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: Xaw3d-1.5E-debian-misc.patch
Download


--- libXaw3d-1.5/xc/lib/Xaw3d/AsciiSrc.c..deb	2000-11-27 16:19:36 +0300
+++ libXaw3d-1.5/xc/lib/Xaw3d/AsciiSrc.c	2006-02-04 17:25:23 +0300
@@ -51,11 +51,17 @@
 #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 @@
 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 @@
 	    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 @@
 	    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 @@
     }
     
     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 @@
 	}
     } 
     src->ascii_src.length = 0;
-    return((FILE *)NULL);
+    return(NULL);
 }
 
 static void
--- libXaw3d-1.5/xc/lib/Xaw3d/SimpleMenu.c..deb	2003-02-17 09:45:07 +0300
+++ libXaw3d-1.5/xc/lib/Xaw3d/SimpleMenu.c	2006-02-04 17:25:23 +0300
@@ -51,6 +51,8 @@
 #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 @@
 
   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;
   }
   
--- libXaw3d-1.5/xc/lib/Xaw3d/MultiSrc.c..deb	2000-11-27 16:19:36 +0300
+++ libXaw3d-1.5/xc/lib/Xaw3d/MultiSrc.c	2006-02-04 17:25:23 +0300
@@ -74,6 +74,9 @@
 #include <stdio.h>
 #include <ctype.h>
 #include <errno.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
 
 /****************************************************************
  *
@@ -1076,7 +1079,9 @@
     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);
@@ -1127,7 +1132,8 @@
 	    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:
@@ -1140,9 +1146,17 @@
 
 	    (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",
@@ -1161,11 +1175,14 @@
     }
     
     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;
 	    
@@ -1177,7 +1194,7 @@
 	}
     } 
     src->multi_src.length = 0;
-    return((FILE *)NULL);
+    return(NULL);
 #undef StrLen
 }
 
--- libXaw3d-1.5/xc/lib/Xaw3d/AsciiSrcP.h..deb	1996-10-15 18:41:18 +0400
+++ libXaw3d-1.5/xc/lib/Xaw3d/AsciiSrcP.h	2006-02-04 17:25:23 +0300
@@ -85,7 +85,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. */
--- libXaw3d-1.5/xc/lib/Xaw3d/StripChart.c..deb	2003-02-10 20:18:00 +0300
+++ libXaw3d-1.5/xc/lib/Xaw3d/StripChart.c	2006-02-04 17:25:23 +0300
@@ -315,7 +315,15 @@
        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);
        }
 
--- libXaw3d-1.5/xc/lib/Xaw3d/Scrollbar.c..deb	2003-02-10 20:22:26 +0300
+++ libXaw3d-1.5/xc/lib/Xaw3d/Scrollbar.c	2006-02-04 17:25:23 +0300
@@ -1049,6 +1049,7 @@
     if (!event->xmotion.same_screen) return;
 
     ExtractPosition (event, &x, &y);
+    
     loc = FractionLoc (sbw, x, y);
     t = sbw->scrollbar.top;
     s = sbw->scrollbar.shown;
--- libXaw3d-1.5/xc/lib/Xaw3d/TextPop.c..deb	2000-11-27 16:19:36 +0300
+++ libXaw3d-1.5/xc/lib/Xaw3d/TextPop.c	2006-02-04 17:25:23 +0300
@@ -66,6 +66,8 @@
 #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 @@
 struct SearchAndReplace * search;
 {
   char msg[BUFSIZ];
+  char *pmsg;
+  int len;
   Widget tw = XtParent(search->search_popup);
   XawTextPosition pos;
   XawTextScanDirection dir;
@@ -835,9 +839,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
@@ -849,7 +864,8 @@
   }
   
   XawTextUnsetSelection(tw);
-  SetSearchLabels(search, msg, "", TRUE);
+  SetSearchLabels(search, pmsg, "", TRUE);
+  XtStackFree(pmsg, msg);
   return(FALSE);
 }
 
@@ -982,13 +998,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
@@ -1011,9 +1040,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);
     }      
 
@@ -1164,13 +1206,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);
 }
 
--- libXaw3d-1.5/xc/lib/Xaw3d/Text.c..deb	2003-02-10 20:28:13 +0300
+++ libXaw3d-1.5/xc/lib/Xaw3d/Text.c	2006-02-04 17:25:23 +0300
@@ -75,6 +75,8 @@
 #include <X11/Xfuncs.h>
 #include <ctype.h>		/* for isprint() */
 
+#include "XawAlloc.h"
+
 #ifndef MAX_LEN_CT
 #define MAX_LEN_CT 6		/* for sequence: ESC $ ( A \xx \xx */
 #endif
@@ -520,6 +522,8 @@
   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,
@@ -568,10 +572,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)
@@ -579,18 +590,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)
--- libXaw3d-1.5/xc/lib/Xaw3d/MultiSrcP.h..deb	1996-10-15 18:41:21 +0400
+++ libXaw3d-1.5/xc/lib/Xaw3d/MultiSrcP.h	2006-02-04 17:25:23 +0300
@@ -113,7 +113,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. */
--- libXaw3d-1.5/xc/lib/Xaw3d/XawI18n.h..deb	1996-10-15 18:41:26 +0400
+++ libXaw3d-1.5/xc/lib/Xaw3d/XawI18n.h	2006-02-04 17:25:23 +0300
@@ -27,6 +27,8 @@
 
 ********************************************************/
 
+/* Mod for Debian by Joey Hess, do not include widec.h */
+#if 0
 #ifdef HAS_WCTYPE_H
 #include <wctype.h>
 #include <widec.h>
@@ -34,6 +36,7 @@
 #define wcscpy(d,s) wscpy(d,s)
 #define wcsncpy(d,s,l) wsncpy(d,s,l)
 #endif
+#endif /* 0 */
 
 #ifdef HAS_WCHAR_H
 #include <wchar.h>
--- libXaw3d-1.5/xc/lib/Xaw3d/MenuButton.c..deb	1996-10-15 18:41:20 +0400
+++ libXaw3d-1.5/xc/lib/Xaw3d/MenuButton.c	2006-02-04 17:25:23 +0300
@@ -53,6 +53,8 @@
 #include <X11/Xaw3d/XawInit.h>
 #include <X11/Xaw3d/MenuButtoP.h>
 
+#include "XawAlloc.h"
+
 static void ClassInitialize();
 static void PopupMenu();
 
@@ -179,9 +181,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))
--- libXaw3d-1.5/xc/lib/Xaw3d/XawAlloc.h..deb	2006-02-04 17:25:23 +0300
+++ libXaw3d-1.5/xc/lib/Xaw3d/XawAlloc.h	2006-02-04 17:25:23 +0300
@@ -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
+
--- libXaw3d-1.5/xc/lib/Xaw3d/Simple.c..deb	2000-11-27 16:19:36 +0300
+++ libXaw3d-1.5/xc/lib/Xaw3d/Simple.c	2006-02-04 17:25:23 +0300
@@ -56,6 +56,8 @@
 #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 @@
 
     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;
     }
 
--- libXaw3d-1.5/xc/Xdefault..deb	2006-02-04 17:25:23 +0300
+++ libXaw3d-1.5/xc/Xdefault	2006-02-04 17:25:23 +0300
@@ -0,0 +1,17 @@
+!this is an example of a .Xdefaults file to be used with the Xaw3d
+!widget set.
+
+!  To obtain an appearance similar to another well known widget set, use the 
+!  following resources:
+*background:        LightSkyBlue
+*shapeStyle:        Rectangle
+*beNiceToColormap:  False
+
+!  By default, Label widgets do not have shadows drawn for them.  You can
+!  force shadows to be drawn for specifying:
+*Label*shadowWidth: 2
+
+!If you'd like the default behavior (i.e. not 3-D) on pulldown menus, use:
+! (uncomment next line:)
+!*SmeBSB*shadowWidth: 0
+
--- libXaw3d-1.5/xc/compat.im..deb	2006-02-04 17:25:23 +0300
+++ libXaw3d-1.5/xc/compat.im	2006-02-04 17:25:23 +0300
@@ -0,0 +1,248 @@
+XCOMM $XConsortium: Imakefile,v 1.78 91/09/18 14:28:23 rws Exp $
+
+#define DoSharedLib SharedLibXaw
+#define DoDebugLib DebugLibXaw 
+#define DoProfileLib ProfileLibXaw 
+#define HasSharedData YES
+#define LibName Xaw3d
+#define SoRev SOXAWREV
+#define IncSubdir Xaw3d
+
+#ifdef LinuxArchitecture
+#JUMP_ROOT_Xaw3d = $(AWIDGETSRC)3d
+#JUMP_IS_HOST_Xaw3d = YES
+#JUMP_STUBLIBS_Xaw3d = libXaw3d.sa
+#JUMP_SUBDIRS_Xaw3d = $(JUMP_ROOT_Xt)
+#JUMP_DIR_Xaw3d = $(JUMP_ROOT_Xaw3d)/shared
+#JUMP_VARS_Xaw3d = $(JUMP_ROOT_Xaw3d)/jump_vars
+#JUMP_FUNCS_Xaw3d = $(JUMP_ROOT_Xaw3d)/jump_funcs
+#JUMP_IGNORE_Xaw3d = $(JUMP_ROOT_Xaw3d)/jump_ignore
+#JUMP_EXPORT_Xaw3d = $(JUMP_DIR_Xaw3d)/jump.vars
+#JUMP_IMPORT_Xaw3d = $(JUMP_EXPORT_Xt) $(JUMP_EXPORT_X11)
+#JUMP_ADDRESS_Xaw3d = 0x60300000
+#JUMP_JUMPTABLESIZE_Xaw3d = 0x4000
+#JUMP_GOTSIZE_Xaw3d = 4096
+#JUMP_STUBNAMES_Xaw3d = libXaw3d
+#JUMP_STUBS_IMPORT_Xaw3d = $(JUMP_STUBS_IMPORT_X11)
+#JUMP_LDLIBS_Xaw3d = $(JUMP_ROOT_Xt)/libXt.sa $(JUMP_ROOT_Xt)/libXmu.sa \
+#        $(JUMP_ROOT_Xt)/libXext.sa $(JUMP_ROOT_X11)/libX11.sa \
+#        $(JUMP_LDLIBS_libc)
+#endif
+
+#ifdef SharedXawReqs
+REQUIREDLIBS = SharedXawReqs
+#endif
+
+DEFINES = XawI18nDefines
+
+       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 <Library.tmpl>
+
+#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()
+
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin