Bug 117466

Summary: Declaration of acs_map in slang.h clashes with the one from ncurses.h
Product: [openSUSE] SUSE LINUX 10.0 Reporter: Philipp Thomas <pth>
Component: DevelopmentAssignee: Pavel Nemec <pnemec>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: aj, dickey
Version: unspecified   
Target Milestone: ---   
Hardware: Other   
OS: SUSE Other   
Whiteboard:
Found By: Development Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: Patch to fix the declaration of acs_map

Description Philipp Thomas 2005-09-16 15:06:45 UTC
Formerly you could include both ncurses.h and slang.h without problems and
projects like libcaca do so. This doesn't work anymore with the acs_map
declaration contained in slang-utf8-acs.patch.

There two problems here: one is, that slang.h unconditionally defines
SLtt_Char_Type as unsigned long, whereas ncurses declares it as 'unsigned int'
on LP64 platforms and secondly that slang defines acs_map as 

extern SLtt_Char_Type SLcurses_Acs_Map [128];
#define acs_map SLcurses_Acs_Map

whereas ncurses.h has

extern chtype acs_map[];

I propose the the attached patch to fix this.
Comment 1 Philipp Thomas 2005-09-16 15:09:37 UTC
Created attachment 50167 [details]
Patch to fix the declaration of acs_map
Comment 2 Pavel Nemec 2005-10-03 14:56:15 UTC
i tried to fix slang.h but, libccaca import slang.h before ncuses.h 
Comment 3 Thomas Dickey 2005-10-08 14:41:29 UTC
Simply remove the spurious #define acs_map from slang.h
Comment 4 Vladimir Nadvornik 2005-10-14 09:58:02 UTC
Slang is now update to 2.04 in STABLE. Tha patch which added acs_map
is now dropped.