From owner-freebsd-bugs Mon Jan 6 01:40:08 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.4/8.8.4) id BAA23286 for bugs-outgoing; Mon, 6 Jan 1997 01:40:08 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.8.4/8.8.4) id BAA23260; Mon, 6 Jan 1997 01:40:05 -0800 (PST) Resent-Date: Mon, 6 Jan 1997 01:40:05 -0800 (PST) Resent-Message-Id: <199701060940.BAA23260@freefall.freebsd.org> Resent-From: gnats (GNATS Management) Resent-To: freebsd-bugs Resent-Reply-To: FreeBSD-gnats@freefall.FreeBSD.org, peter.jeremy@alcatel.com.au Received: from gatekeeper.alcatel.com.au (gatekeeper.alcatel.com.au [203.17.66.1]) by freefall.freebsd.org (8.8.4/8.8.4) with ESMTP id BAA23136 for ; Mon, 6 Jan 1997 01:36:27 -0800 (PST) Received: from 139.188.22.50 (139.188.22.50) by gatekeeper.alcatel.com.au (PMDF V5.0-5 #11861) id <01IDWMDZNH0G0008T9@gatekeeper.alcatel.com.au> for FreeBSD-gnats-submit@freebsd.org; Mon, 06 Jan 1997 20:35:11 +1000 Received: from vk2pj.alcatel.com.au (vk2pj.alcatel.com.au) by cbd.alcatel.com.au (PMDF V5.0-5 #9241) id <01IDWMCW78JK9QVIX4@cbd.alcatel.com.au> for FreeBSD-gnats-submit@freebsd.org; Mon, 06 Jan 1997 20:34:21 +1100 Received: (from peter@localhost) by vk2pj.alcatel.com.au (8.7.5/8.7.3) id UAA27320; Mon, 06 Jan 1997 20:35:41 +1100 (EST) Message-Id: <199701060935.UAA27320@vk2pj.alcatel.com.au> Date: Mon, 06 Jan 1997 20:35:41 +1100 (EST) From: peter.jeremy@alcatel.com.au Reply-To: peter.jeremy@alcatel.com.au To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: bin/2382: curses.h / -lcurses incompatible with C++ Sender: owner-bugs@freebsd.org X-Loop: FreeBSD.org Precedence: bulk >Number: 2382 >Category: bin >Synopsis: curses.h / -lcurses incompatible with C++ >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Jan 6 01:40:03 PST 1997 >Last-Modified: >Originator: Peter Jeremy >Organization: Peter Jeremy (VK2PJ) peter.jeremy@alcatel.com.au Alcatel Australia Limited 41 Mandible St Phone: +61 2 9690 5019 ALEXANDRIA NSW 2015 Fax: +61 2 9690 5247 >Release: FreeBSD 2.1-STABLE i386 >Environment: none >Description: The prototypes in /usr/include/curses.h are not protected in an extern "C" {} block. This causes C++ programs using -lcurses to report undefined symbols during linking. >How-To-Repeat: $ cat > x.C <<__EOF__ #include "curses.h" // since > < gets eaten int main(int argc, char **argv) { WINDOW *w; w = initscr(); } __EOF__ $ gcc x.C -lcurses /tmp/cc0142051.o: Undefined symbol `_initscr__Fv' referenced from text segment $ >Fix: *** /cdrom/usr/src/lib/libcurses/curses.h Sat Sep 2 13:41:59 1995 --- /usr/src/lib/libcurses/curses.h Wed Dec 11 20:43:18 1996 *************** *** 277,282 **** --- 277,283 ---- #define winch(w) \ ((w)->lines[(w)->cury]->line[(w)->curx].ch & 0377) + __BEGIN_DECLS /* Public function prototypes. */ int box __P((WINDOW *, int, int)); int cbreak __P((void)); *************** *** 388,392 **** --- 389,394 ---- int tgetflag __P((const char *)); char *tgetstr __P((const char *, char **)); char *tgoto __P((const char *, int, int)); + __END_DECLS #endif /* !_CURSES_H_ */ (And the same change to /usr/include/curses.h) >Audit-Trail: >Unformatted: