[comp.sources.bugs] notes

matt@srs.UUCP (Matt Goheen) (08/24/87)

Quite a few people have written me saying that the file "f_tab_sqrt.o"
won't unpack properly.  This is due to the fact that Sun distributes
"uudecode" SUID to uucp.  We have changed that here (and thus the error
in the archive) but to get around it, you have several options:

1) Copy the "encoded" file to "/tmp" and "uudecode" it there.  Copy the
   "f_tab_sqrt.o" file back to where you need it.
2) Make your current directory world writable, "uudecode" the "encoded"
   file and, change the directory back to your normal permissions.  The
   problem here is that "f_tab_sqrt.o" will be owned by uucp.  You can
   "mv" and "cp" it until it's yours.
3) Do the following:  "touch f_tab_sqrt.o", "chmod 777 f_tab_sqrt.o",
   "uudecode encoded", "chmod 644 f_tab_sqrt.o" (use whatever you want
   for the 644).

Having "uudecode" SUID to uucp seems like a potential security risk to
me (unless it's smarter than I give it credit for).  But then again,
it may be worse for systems with "decode" in their "alias" file and
NOT having "uudecode" SUID to uucp.  Who knows?

Finally, here is a tiny bug fix.  This makes brottool update the screen
when you scroll (or "Show", etc.) and the "Stop" button is checked (oops).

						Matt Goheen


-----cut here-----not a shell archive-----feed to patch-----la dee da-----
*** brottool.c.orig	Mon Aug 24 09:12:55 1987
--- brottool.c	Mon Aug 24 09:13:24 1987
***************
*** 8,17 ****
  #include <suntool/panel.h>
  #include "brottool.h"
  
  /*
  static void resize_proc();
- static void repaint_proc();
  */
  static Notify_value my_notice_destroy();
  static short bits[16] = { 0x8000, 0x4000, 0x2000, 0x1000, 0x800,
  			  0x400, 0x200, 0x100, 0x80, 0x40, 0x20,
--- 8,20 ----
  #include <suntool/panel.h>
  #include "brottool.h"
  
+ #ifndef lint
+ static char Sccsid[] = "@(#)brottool.c	1.2 8/24/87 Matthew Goheen";
+ #endif
  /*
  static void resize_proc();
  */
+ static void repaint_proc();
  static Notify_value my_notice_destroy();
  static short bits[16] = { 0x8000, 0x4000, 0x2000, 0x1000, 0x800,
  			  0x400, 0x200, 0x100, 0x80, 0x40, 0x20,
***************
*** 195,201 ****
  
      canvas = window_create(frame, CANVAS,
  			   /* CANVAS_RESIZE_PROC, resize_proc, */
! 			   /* CANVAS_REPAINT_PROC, repaint_proc, */
  			   CANVAS_RETAINED, FALSE,
  			   CANVAS_AUTO_CLEAR, FALSE,
  			   CANVAS_WIDTH, Xmax,
--- 198,204 ----
  
      canvas = window_create(frame, CANVAS,
  			   /* CANVAS_RESIZE_PROC, resize_proc, */
! 			   CANVAS_REPAINT_PROC, repaint_proc,
  			   CANVAS_RETAINED, FALSE,
  			   CANVAS_AUTO_CLEAR, FALSE,
  			   CANVAS_WIDTH, Xmax,
***************
*** 251,262 ****
  
  /* Since do_batch() periodically updates the screen anyway,
  ** we don't need this at all...
  static void
  repaint_proc()
  {
!     pw_write(pw, 0, 0, Xmax, Ymax, PIX_SRC, Mypr, 0, 0);
  }
- */
  
  static Notify_value
  my_notice_destroy(frame, status)
--- 254,269 ----
  
  /* Since do_batch() periodically updates the screen anyway,
  ** we don't need this at all...
+ ** ...oops, when the "stop" button is checked, we do need this.
+ */
+ 
  static void
  repaint_proc()
  {
!     if (Stop)
! 	/* just copy the whole thing and let it clip */
! 	pw_write(pw, 0, 0, Xmax, Ymax, PIX_SRC, Mypr, 0, 0);
  }
  
  static Notify_value
  my_notice_destroy(frame, status)
-- 
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
- UUCP:	{allegra,seismo}!rochester!srs!matt	Matt Goheen	 	-
- 	"I am not a number, I am a free man!"	S.R. Systems, Roch, NY	-
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-