char *php_http_pretty_key(char *key, size_t key_len, zend_bool uctitle, zend_bool xhyphen) { size_t i; int wasalpha; if (key && key_len) { if (EXPECTED(wasalpha = PHP_HTTP_IS_CTYPE(alpha, key[0]))) { if (EXPECTED(uctitle)) { key[0] = PHP_HTTP_TO_CTYPE(upper, key[0]); } else { key[0] = PHP_HTTP_TO_CTYPE(lower, key[0]); } } for (i = 1; i < key_len; ++i) { if (EXPECTED(PHP_HTTP_IS_CTYPE(alpha, key[i]))) { if (EXPECTED(wasalpha)) { key[i] = PHP_HTTP_TO_CTYPE(lower, key[i]); } else if (EXPECTED(uctitle)) { key[i] = PHP_HTTP_TO_CTYPE(upper, key[i]); wasalpha = 1; } else { key[i] = PHP_HTTP_TO_CTYPE(lower, key[i]); wasalpha = 1; } } else { if (EXPECTED(xhyphen && (key[i] == '_'))) { key[i] = '-'; } wasalpha = 0; } } } return key; }
char *php_http_pretty_key(register char *key, size_t key_len, zend_bool uctitle, zend_bool xhyphen) { size_t i = 1; int wasalpha; if (key && key_len) { if ((wasalpha = PHP_HTTP_IS_CTYPE(alpha, key[0]))) { key[0] = (char) (uctitle ? PHP_HTTP_TO_CTYPE(upper, key[0]) : PHP_HTTP_TO_CTYPE(lower, key[0])); } PHP_HTTP_DUFF(key_len, if (PHP_HTTP_IS_CTYPE(alpha, key[i])) { key[i] = (char) (((!wasalpha) && uctitle) ? PHP_HTTP_TO_CTYPE(upper, key[i]) : PHP_HTTP_TO_CTYPE(lower, key[i])); wasalpha = 1; } else { if (xhyphen && (key[i] == '_')) { key[i] = '-'; } wasalpha = 0; } ++i; ); }