/* Intentionally use strtol instead of strtoul, such that
* -1 turns into "big number"... */
errno = 0;
- v = strtol (p, &pend, 0);
+ v = strtol (p, &pend, 10);
if (errno || p == pend)
return false;
/* Intentionally use strtol instead of strtoul, such that
* -1 turns into "big number"... */
errno = 0;
- v = strtol (p, &pend, 0);
+ v = strtol (p, &pend, 10);
if (errno || p == pend)
return false;
(*pp)++;
/* CSS allows on/off as aliases 1/0. */
- if (*pp - p == 2 && 0 == strncmp (p, "on", 2))
+ if (*pp - p == 2
+ && TOLOWER (p[0]) == 'o'
+ && TOLOWER (p[1]) == 'n')
*pv = 1;
- else if (*pp - p == 3 && 0 == strncmp (p, "off", 3))
+ else if (*pp - p == 3
+ && TOLOWER (p[0]) == 'o'
+ && TOLOWER (p[1]) == 'f'
+ && TOLOWER (p[2]) == 'f')
*pv = 0;
else
return false;
* Parses a string into a #hb_feature_t.
*
* The format for specifying feature strings follows. All valid CSS
- * font-feature-settings values other than 'normal' and 'inherited' are also
- * accepted, though, not documented below.
+ * font-feature-settings values other than 'normal' and the global values are
+ * also accepted, though not documented below. CSS string escapes are not
+ * supported.
*
* The range indices refer to the positions between Unicode characters. The
* position before the first character is always 0.
" Features can be enabled or disabled, either globally or limited to\n"
" specific character ranges. The format for specifying feature settings\n"
" follows. All valid CSS font-feature-settings values other than 'normal'\n"
- " and 'inherited' are also accepted, though, not documented below.\n"
+ " and the global values are also accepted, though not documented below.\n"
+ " CSS string escapes are not supported."
"\n"
" The range indices refer to the positions between Unicode characters,\n"
" unless the --utf8-clusters is provided, in which case range indices\n"