現時点では、それらをグローバルに保存しています。それは正しい方法ですか?変数が現在のリクエストにとどまり、リクエストが終了すると消えます。
例えば:
int data1;
int data2;
apr_status_t my_input_filter (ap_filter_t *f, apr_bucket_brigade *bb,
ap_input_mode_t mode, apr_read_type_e block, apr_off_t readbytes) {
if (somecond1) data1 = xyz;
if (somecond2 & data1 == xya) data2 = abc;
if (somecond3 && data2 == abc) dosomething();
}
3 つの条件は、フィルタリング中に一度に発生するわけではないことに注意してください。それらは異なる時点で表示される可能性がありますが、同じリクエストで発生します。