Fix field name parsing

The fix to field name parsing didn't properly break the loop when the
backtick character was detected.
This commit is contained in:
Markus Mäkelä
2017-03-02 13:12:45 +02:00
parent e4b4dad94a
commit e01a6a0d58

View File

@ -451,6 +451,10 @@ static const char *extract_field_name(const char* ptr, char* dest, size_t size)
while (*ptr && (isspace(*ptr) || (bt = *ptr == '`')))
{
ptr++;
if (bt)
{
break;
}
}
if (strncasecmp(ptr, "constraint", 10) == 0 || strncasecmp(ptr, "index", 5) == 0 ||
@ -483,11 +487,6 @@ static const char *extract_field_name(const char* ptr, char* dest, size_t size)
/** Valid identifier */
size_t bytes = ptr - start;
if (bt)
{
bytes--;
}
memcpy(dest, start, bytes);
dest[bytes] = '\0';