The old code is wrong, because it returns a pointer to an automatic
variable. And it's also more clever than we really need to be
considering that the case it's worrying about should never happen.
const char *
GetLockNameFromTagType(uint16 locktag_type)
{
- const char *locktypename;
- char tnbuf[32];
-
- if (locktag_type <= LOCKTAG_LAST_TYPE)
- locktypename = LockTagTypeNames[locktag_type];
- else
- {
- snprintf(tnbuf, sizeof(tnbuf), "unknown %d",
- (int) locktag_type);
- locktypename = tnbuf;
- }
-
- return locktypename;
+ if (locktag_type > LOCKTAG_LAST_TYPE)
+ return "???";
+ return LockTagTypeNames[locktag_type];
}