From perky@FreeBSD.org  Thu Jul 28 12:20:05 2005
Return-Path: <perky@FreeBSD.org>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id A415116A41F
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 28 Jul 2005 12:20:05 +0000 (GMT)
	(envelope-from perky@FreeBSD.org)
Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 3BCA143D48
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 28 Jul 2005 12:20:05 +0000 (GMT)
	(envelope-from perky@FreeBSD.org)
Received: from freefall.freebsd.org (perky@localhost [127.0.0.1])
	by freefall.freebsd.org (8.13.3/8.13.3) with ESMTP id j6SCK58a018599
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 28 Jul 2005 12:20:05 GMT
	(envelope-from perky@freefall.freebsd.org)
Received: (from perky@localhost)
	by freefall.freebsd.org (8.13.3/8.13.1/Submit) id j6SCK4Mw018598;
	Thu, 28 Jul 2005 12:20:04 GMT
	(envelope-from perky)
Message-Id: <200507281220.j6SCK4Mw018598@freefall.freebsd.org>
Date: Thu, 28 Jul 2005 12:20:04 GMT
From: Hye-Shik Chang <perky@FreeBSD.org>
Reply-To: Hye-Shik Chang <perky@FreeBSD.org>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: ncurses.h wchar_t confliction
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         84219
>Category:       bin
>Synopsis:       [ncurses] [patch] ncurses.h wchar_t confliction
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    rafan
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jul 28 12:20:21 GMT 2005
>Closed-Date:    Fri Apr 06 18:02:39 GMT 2007
>Last-Modified:  Fri Apr 06 18:02:39 GMT 2007
>Originator:     Hye-Shik Chang
>Release:        FreeBSD 7.0-CURRENT
>Organization:
Yonsei University
>Environment:
FreeBSD alice.liko.co.kr 7.0-CURRENT FreeBSD 7.0-CURRENT #1: Sun Jul 17 09:46:00 KST 2005     root@alice.liko.co.kr:/usr/obj/usr/src/sys/NONDEBUG  i386

>Description:
When _XOPEN_SOURCE_EXTENDED is defined, ncurses.h conflicts
agains stdlib.h.  ncurses.h checks whether __wchar_t macro is defined,
but FreeBSD's __wchar_t isn't a macro but typedef.  So we need to
change the condition to defined(_WCHAR_T_DECLARED).


>How-To-Repeat:

try compile the following: (which is digested from Python aclocal.m4)

#define _XOPEN_SOURCE_EXTENDED 1
#include <stdlib.h>
#include <ncurses.h>


>Fix:

--- lib/libncurses/Makefile.orig	Thu Jul 28 17:57:12 2005
+++ lib/libncurses/Makefile	Thu Jul 28 17:56:29 2005
@@ -371,7 +371,7 @@
 	    -e "s%@cf_cv_type_of_bool@%${TYPE_OF_BOOL}%g" \
 	    -e "s%@cf_cv_typeof_chtype@%${TYPEOF_CHTYPE}%g" \
 	    -e "s%@cf_cv_widec_shift@%${WIDEC_SHIFT}%g" \
-	    -e "s/ _WCHAR_T/ __wchar_t/g" \
+	    -e "s/#ifndef _WCHAR_T/#ifndef _WCHAR_T_DECLARED/g" \
 	    -e "s/ _WINT_T/ __wint_t/g" \
 
 unctrl.h:	unctrl.h.in

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->rafan 
Responsible-Changed-By: rafan 
Responsible-Changed-When: Sun Jan 21 13:20:47 UTC 2007 
Responsible-Changed-Why:  
I'm working on wide character support in base ncurses. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=84219 
State-Changed-From-To: open->feedback 
State-Changed-By: rafan 
State-Changed-When: Thu Feb 15 02:54:26 UTC 2007 
State-Changed-Why:  
Newer ncurses (say 5.6, which is in CURRENT for a month) does not check 
__wchar_t. Could you check if CURRENT still needs this?  

BTW, there is ncurses wide character patch against 7.x at 

http://lists.freebsd.org/pipermail/freebsd-current/2007-February/068982.html 

You may want to test it. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=84219 
State-Changed-From-To: feedback->patched 
State-Changed-By: rafan 
State-Changed-When: Sat Mar 10 14:00:55 UTC 2007 
State-Changed-Why:  
7.x has newer ncurses since late Jan this year. it also 
has ncursesw in base. This problem does not exist anymore. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=84219 
State-Changed-From-To: patched->closed 
State-Changed-By: rafan 
State-Changed-When: Fri Apr 6 18:02:37 UTC 2007 
State-Changed-Why:  
ncurses 5.6 is merged to 6.x. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=84219 
>Unformatted:
