| 521 | |
| 522 | #if APR_CHARSET_EBCDIC |
| 523 | AP_DECLARE(apr_status_t) ap_rgetline(char **s, apr_size_t n, |
| 524 | apr_size_t *read, request_rec *r, |
| 525 | int fold, apr_bucket_brigade *bb) |
| 526 | { |
| 527 | /* on ASCII boxes, ap_rgetline is a macro which simply invokes |
| 528 | * ap_rgetline_core with the same parms |
| 529 | * |
| 530 | * on EBCDIC boxes, each complete http protocol input line needs to be |
| 531 | * translated into the code page used by the compiler. Since |
| 532 | * ap_rgetline_core uses recursion, we do the translation in a wrapper |
| 533 | * function to ensure that each input character gets translated only once. |
| 534 | */ |
| 535 | apr_status_t rv; |
| 536 | |
| 537 | rv = ap_rgetline_core(s, n, read, r, fold, bb); |
| 538 | if (rv == APR_SUCCESS || APR_STATUS_IS_ENOSPC(rv)) { |
| 539 | ap_xlate_proto_from_ascii(*s, *read); |
| 540 | } |
| 541 | return rv; |
| 542 | } |
| 543 | #endif |
| 544 | |
| 545 | AP_DECLARE(int) ap_getline(char *s, int n, request_rec *r, int flags) |
no test coverage detected