X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=http_api.c;h=78745ee9d0083082bf1e6095b735b081a3bb4abb;hp=a2a7f6ce71cfb0601392e46574e85dfdb74cc334;hb=f39ea2b145caa37d9614a8a437ffd3d8914b52f0;hpb=6aca56d611a22eb559098f3c02c31634a6f9ff9f diff --git a/http_api.c b/http_api.c index a2a7f6c..78745ee 100644 --- a/http_api.c +++ b/http_api.c @@ -67,15 +67,16 @@ PHP_HTTP_API long _http_support(long feature) /* char *pretty_key(char *, size_t, zend_bool, zend_bool) */ char *_http_pretty_key(char *key, size_t key_len, zend_bool uctitle, zend_bool xhyphen) { + size_t i; + int wasalpha; + if (key && key_len) { - size_t i; - int wasalpha; - if ((wasalpha = isalpha((int) key[0]))) { - key[0] = (char) (uctitle ? toupper((int) key[0]) : tolower((int) key[0])); + if ((wasalpha = HTTP_IS_CTYPE(alpha, key[0]))) { + key[0] = (char) (uctitle ? HTTP_TO_CTYPE(upper, key[0]) : HTTP_TO_CTYPE(lower, key[0])); } for (i = 1; i < key_len; i++) { - if (isalpha((int) key[i])) { - key[i] = (char) (((!wasalpha) && uctitle) ? toupper((int) key[i]) : tolower((int) key[i])); + if (HTTP_IS_CTYPE(alpha, key[i])) { + key[i] = (char) (((!wasalpha) && uctitle) ? HTTP_TO_CTYPE(upper, key[i]) : HTTP_TO_CTYPE(lower, key[i])); wasalpha = 1; } else { if (xhyphen && (key[i] == '_')) { @@ -255,8 +256,8 @@ STATUS _http_check_method_ex(const char *method, const char *methods) const char *found; if ( (found = strstr(methods, method)) && - (found == method || !isalpha(found[-1])) && - (strlen(found) >= strlen(method) && !isalpha(found[strlen(method)]))) { + (found == method || !HTTP_IS_CTYPE(alpha, found[-1])) && + (strlen(found) >= strlen(method) && !HTTP_IS_CTYPE(alpha, found[strlen(method)]))) { return SUCCESS; } return FAILURE;