- switch (range_status) {
- /* breaks intentionally left out */
-
- case RANGE_OK:
- /* only send ranges if entity hasn't changed */
- if ( http_etag_match_ex("HTTP_IF_MATCH", HTTP_G(etag), 0) &&
- http_modified_match_ex("HTTP_IF_UNMODIFIED_SINCE", HTTP_G(lmod), 0)) {
- STATUS result = http_send_ranges(&ranges, data_ptr, data_size, data_mode);
- zend_hash_destroy(&ranges);
- return result;
- } else {
- zend_hash_destroy(&ranges);
- }
-
- case RANGE_NO:
- if (http_modified_match("HTTP_IF_MODIFIED_SINCE", HTTP_G(lmod))) {
- return http_send_status(304);
- }
- return http_send_chunk(data_ptr, 0, data_size, data_mode);
+ /* send 304 Not Modified if last modified matches */
+ if (http_modified_match("HTTP_IF_MODIFIED_SINCE", HTTP_G(lmod))) {
+ return http_send_status(304);