Example #1
0
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;
}
Example #2
0
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;
		);
	}