Forms 1.2 under IRIX 3.2

Dave Englund englund at gdstech.grumman.com
Tue May 7 22:27:13 AEST 1991


I've managed to hack Forms 1.2 to run under IRIX 3.2. There aren't
that many changes necessary, so I'll just list them here.

Changes in "forms.h"
line 36:   void (*form_call_back)(struct objs *); 
line 76:   void (*obj_call_back)(struct objs *, long);  

These changes in the header require these chnages in the ".c" files"
events.c :
	change all occurrences of:
		obj->form->call_back TO	obj->form->form_call_back
		obj->call_back       TO	obj->obj_call_back
objects.c
	change all occurrences of:
		form->call_back     TO	form->form_call_back
		ob->call_back       TO	ob->obj_call_back


Those changes are enough to get the package to compile, but alas are
not enough to make the package work correctly. The remaining problems
have to do with the C compiler promoting floats to doubles when
passing them as arguments. 

More changes in "forms.h"
All of the prototypes of the forms:
OBJECT  *add_{sometypeofobject}(int, float, float, float, float, char []);
should become:
OBJECT  *add_{sometypeofobject}(int, double, double, double, double, char []);

These changes require you to change the corresponding function headers
in the {sometypeofobject}.c files. The handle_{something} routines
also need their float arguments changed to double. Here is a list of
the routines that need there declarations changed:

NEW.c:static int handle_NEW
NEW.c:OBJECT *add_NEW
bitmap.c:static int handle_bitmap
bitmap.c:OBJECT *add_bitmap
box.c:static int handle_box
box.c:OBJECT *add_box
browser.c:static int handle_browser
browser.c:OBJECT *add_browser
button.c:static int handle_it
button.c:static OBJECT *add_it
button.c:OBJECT *add_button
button.c:OBJECT *add_lightbutton
button.c:OBJECT *add_roundbutton
choice.c:static int handle_choice
choice.c:OBJECT *add_choice
clock.c:static int handle_clock
clock.c:OBJECT *add_clock
default.c:static int handle_default
default.c:OBJECT *add_default
dial.c:static int handle_dial
dial.c:OBJECT *add_dial
free.c:OBJECT *add_free
input.c:static int handle_input
input.c:OBJECT *add_input
menu.c:static int handle_menu
menu.c:OBJECT *add_menu
positioner.c:static int handle_positioner
positioner.c:OBJECT *add_positioner
slider.c:static int handle_slider
slider.c:OBJECT *add_slider
text.c:static int handle_text
text.c:OBJECT *add_text

It looks like a lot, but something like a keyboard macro in emacs, the
changes are done pretty easily. Good Luck!

			Dave Englund | #include <stdio.h>
	 englund at gdstech.grumman.com | main() 
		       Grumman Corp. | {
	   Corporate Research Center | 	  printf("hello, world\n");
			Bethpage, NY | }



More information about the Comp.sys.sgi mailing list