Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!sri-spam!ames!ucbcad!ucbvax!YALE.ARPA!LEICHTER-JERRY From: LEICHTER-JERRY@YALE.ARPA.UUCP Newsgroups: comp.os.vms Subject: Re: C curses Message-ID: <8706110251.AA14731@ucbvax.Berkeley.EDU> Date: Wed, 10-Jun-87 22:51:59 EDT Article-I.D.: ucbvax.8706110251.AA14731 Posted: Wed Jun 10 22:51:59 1987 Date-Received: Sat, 13-Jun-87 07:07:06 EDT Sender: daemon@ucbvax.BERKELEY.EDU Reply-To: Distribution: world Organization: The ARPA Internet Lines: 44 I recently came across the next problem; 1070 1 mvgetstr(10, 20, pword); %CC-W-TOOMANYMACARGS, Argument list for macro "mvgetstr" contains too many arguments; excess arguments ignored. %CC-W-TOOFEWMACARGS, Argument list for macro "mvwgetstr" contains too few arguments; missing arguments assumed to be null. %CC-W-IGNORED, Unexpected "," ignored. ... VAX C bug ?? (VAX C V2.1-007 under VAX VMS V4.5) A quick look at SYS$LIBRARY:CURSES.H reveals: # define mvwgetstr(win,y,x,str) (wmove(win,y,x)==ERR)?ERR:wgetstr(win,str) # define mvgetstr(y,x) mvwgetstr (stdscr, y, x) mvgetstr() has been erroneously defined as taking only two parameters - the str parameter is missing. It, in turn, proceeds to call mvwgetstr() without the str parameter - but mvwgetstr() is defined WITH the str parameter. Hence, the error messages you saw. Congratulations! You've found a genuine VAX C bug! You should SPR this. In the meantime, there's an easy work-around: Make a private copy of CURSES.H, correct the error, and use it. Note: If you find that there is no file named SYS$LIBRARY:CURSES.H, your system manager has installed VAX C using just the text libraries for the system include files. In that case, to get your own copy of CURSES.H, do: $ LIBRARY SYS$LIBRARY:VAXCDEF/TEXT/EXTRACT:CURSES/OUTPUT:CURSES.H BTW, version 2.2 of VAX C has been out for quite some time - V2.3 is almost here - so you are dealing with old software. However, the same problem appears on my VMS 4.5/VAX C 2.2 system, so the problem MAY still be current. -- Jerry -------