| 2715 | } |
| 2716 | |
| 2717 | AP_DECLARE(apr_status_t) ap_str2_alnum(const char *src, char *dest) { |
| 2718 | |
| 2719 | for ( ; *src; src++, dest++) |
| 2720 | { |
| 2721 | if (!apr_isprint(*src)) |
| 2722 | *dest = 'x'; |
| 2723 | else if (!apr_isalnum(*src)) |
| 2724 | *dest = '_'; |
| 2725 | else |
| 2726 | *dest = (char)*src; |
| 2727 | } |
| 2728 | *dest = '\0'; |
| 2729 | return APR_SUCCESS; |
| 2730 | |
| 2731 | } |
| 2732 | |
| 2733 | AP_DECLARE(apr_status_t) ap_pstr2_alnum(apr_pool_t *p, const char *src, |
| 2734 | const char **dest) |