X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Ftinfo%2Flib_longname.c;h=14903175b322ee6354bfa7ecd3832d865cdc39fb;hp=746f83f4eabf6cc3edbf93783815d370e1ec8d44;hb=f79b52fddd95c7a6f1ead29ef9c39eb8cdf60795;hpb=78e49873c69dc0494bb34c62f897f8b446584a33 diff --git a/ncurses/tinfo/lib_longname.c b/ncurses/tinfo/lib_longname.c index 746f83f4..14903175 100644 --- a/ncurses/tinfo/lib_longname.c +++ b/ncurses/tinfo/lib_longname.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2000,2009 Free Software Foundation, Inc. * + * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -42,20 +42,27 @@ #include -MODULE_ID("$Id: lib_longname.c,v 1.10 2009/02/15 00:48:15 tom Exp $") +MODULE_ID("$Id: lib_longname.c,v 1.12 2010/12/20 00:31:26 tom Exp $") +#if USE_REENTRANT NCURSES_EXPORT(char *) NCURSES_SP_NAME(longname) (NCURSES_SP_DCL0) { + static char empty[] = + {'\0'}; char *ptr; - T((T_CALLED("longname()"))); + T((T_CALLED("longname(%p)"), (void *) SP_PARM)); - for (ptr = ttytype + strlen(ttytype); ptr > ttytype; ptr--) - if (*ptr == '|') - returnPtr(ptr + 1); - - returnPtr(ttytype); + if (SP_PARM) { + for (ptr = SP_PARM->_ttytype + strlen(SP_PARM->_ttytype); + ptr > SP_PARM->_ttytype; + ptr--) + if (*ptr == '|') + returnPtr(ptr + 1); + returnPtr(SP_PARM->_ttytype); + } + return empty; } #if NCURSES_SP_FUNCS @@ -65,3 +72,20 @@ longname(void) return NCURSES_SP_NAME(longname) (CURRENT_SCREEN); } #endif + +#else +NCURSES_EXPORT(char *) +longname(void) +{ + char *ptr; + + T((T_CALLED("longname()"))); + + for (ptr = ttytype + strlen(ttytype); + ptr > ttytype; + ptr--) + if (*ptr == '|') + returnPtr(ptr + 1); + returnPtr(ttytype); +} +#endif