comparison rogue5/mdport.c @ 291:5b6855d5d089

Fix a portability issue with md_hasclreol(). Some games' implementation of md_hasclreol() poked around in ncurses internals, which does not work for some ncurses build configuration. Most games did not actually call md_hasclreol(), so it was removed. There is a standard terminfo function which can retrieve the value of the clr_eol capability, so this was used for rogue5.
author John "Elwin" Edwards
date Wed, 27 Dec 2017 10:26:06 -0500
parents 8b6aba552f6f
children
comparison
equal deleted inserted replaced
290:2b452dbf0138 291:5b6855d5d089
261 } 261 }
262 262
263 int 263 int
264 md_hasclreol(void) 264 md_hasclreol(void)
265 { 265 {
266 #if defined(clr_eol)
267 #ifdef NCURSES_VERSION 266 #ifdef NCURSES_VERSION
267 char *cap_str;
268 if (cur_term == NULL) 268 if (cur_term == NULL)
269 return(0); 269 return(0);
270 if (cur_term->type.Strings == NULL) 270 cap_str = tigetstr("el");
271 return(0); 271 return (cap_str != NULL);
272 #endif 272 #elif defined(clr_eol)
273 return((clr_eol != NULL) && (*clr_eol != 0)); 273 return((clr_eol != NULL) && (*clr_eol != 0));
274 #elif defined(__PDCURSES__) 274 #elif defined(__PDCURSES__)
275 return(TRUE); 275 return(TRUE);
276 #else 276 #else
277 return((CE != NULL) && (*CE != 0)); 277 return((CE != NULL) && (*CE != 0));