[comp.windows.open-look] XView: bogus function prototypes in <xview/defaults.h>

warsaw@nlm.nih.gov (Barry A. Warsaw) (05/02/91)

May of the function prototypes in <xview/defaults.h> use the C++
reserved word "class" as an argument name.  This causes syntax errors
when using C++ and XView defaults.  Here's an example:

EXTERN_FUNCTION (char *	defaults_get_string, (char *name, char *class, char *default));
                                                                ^^^^^

The simple work around is to *not* include <xview/defaults.h> but
instead supply your own EXTERN_FUNCTION macro without argument names.
Eg:

EXTERN_FUNCTION(char* defaults_get_string, (char*, char*, char*));

Sun, please fix this for the next release.  Thank you.

-Barry

NAME:  Barry A. Warsaw         INET: warsaw@nlm.nih.gov
TELE:  (301) 496-1936          UUCP: uunet!nlm.nih.gov!warsaw

dmaustin@vivid.sun.com (Darren Austin) (05/02/91)

In article <WARSAW.91May1173816@warsaw.nlm.nih.gov> warsaw@nlm.nih.gov (Barry A. Warsaw) writes:
>
> May of the function prototypes in <xview/defaults.h> use the C++
> reserved word "class" as an argument name.  This causes syntax errors
> when using C++ and XView defaults.  Here's an example:

> EXTERN_FUNCTION (char * defaults_get_string, (char *name, char *class, char *default));
								   ^^^^^
> Sun, please fix this for the next release.  Thank you.

Thanks for bringing this to our attention.  We have already fixed
this in the next release.  And please don't ask when that is ;-).

--Darren
--
Darren Austin                         |  Actually, it's a buck and a quarter
Windows and Graphics Software	      |  staff, but I'm not going to tell
Sun Microsystems, Mountain View       |  *him* that.
dmaustin@sun.com	              |

gam@lanl.gov (Gim Mark) (05/02/91)

In article <WARSAW.91May1173816@warsaw.nlm.nih.gov>, warsaw@nlm.nih.gov (Barry A. Warsaw) writes:
> 
> May of the function prototypes in <xview/defaults.h> use the C++
> reserved word "class" as an argument name.  This causes syntax errors
> when using C++ and XView defaults.

A somewhat related problem is that DOTDOTDOT, which is defined in
<xview/xv_c_types.h> and used in many of Sun's EXTERN_FUNCTION
prototypes, generates syntax errors in these prototypes under 
ANSI C preprocessors (gnu gcc, Saber-C).

Graham Mark

jmck@norge.Eng.Sun.COM (John McKernan) (05/04/91)

gam@lanl.gov (Gim Mark) writes:
>A somewhat related problem is that DOTDOTDOT, which is defined in
><xview/xv_c_types.h> and used in many of Sun's EXTERN_FUNCTION
>prototypes, generates syntax errors in these prototypes under 
>ANSI C preprocessors (gnu gcc, Saber-C).

I believe this has been fixed, and will be included when the next
release ships. I don't think these fixes made it into the beta release
of Open Windows though. Note that the DOTDOTDOT macro is still used, it's
just used in a way that is correct according to ANSI C.

John McKernan.                                              jmck@sun.com
Windows and Graphics Software, XView Development Group, Sun Microsystems.