/****************************************************************************
- * Copyright (c) 1999,2000,2001 Free Software Foundation, Inc. *
+ * Copyright (c) 1999-2005,2007 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 *
#include <term.h>
#include <tic.h>
-MODULE_ID("$Id: name_match.c,v 1.12 2002/08/31 21:48:41 Philippe.Blain Exp $")
+MODULE_ID("$Id: name_match.c,v 1.16 2007/04/21 21:28:13 tom Exp $")
/*
* _nc_first_name(char *names)
*
* Extract the primary name from a compiled entry.
*/
+#define FirstName _nc_globals.first_name
NCURSES_EXPORT(char *)
_nc_first_name(const char *const sp)
/* get the first name from the given name list */
{
- static char *buf;
- register unsigned n;
+ unsigned n;
- if (buf == 0)
- buf = typeMalloc(char, MAX_NAME_SIZE + 1);
+#if NO_LEAKS
+ if (sp == 0) {
+ if (FirstName != 0)
+ FreeAndNull(FirstName);
+ return 0;
+ }
+#endif
+
+ if (FirstName == 0)
+ FirstName = typeMalloc(char, MAX_NAME_SIZE + 1);
for (n = 0; n < MAX_NAME_SIZE; n++) {
- if ((buf[n] = sp[n]) == '\0'
- || (buf[n] == '|'))
+ if ((FirstName[n] = sp[n]) == '\0'
+ || (FirstName[n] == '|'))
break;
}
- buf[n] = '\0';
- return (buf);
+ FirstName[n] = '\0';
+ return (FirstName);
}
/*
*/
NCURSES_EXPORT(int)
-_nc_name_match
-(const char *const namelst, const char *const name, const char *const delim)
+_nc_name_match(const char *const namelst, const char *const name, const char *const delim)
{
const char *s, *d, *t;
int code, found;