diff options
Diffstat (limited to 'src/etag.c')
-rw-r--r-- | src/etag.c | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/src/etag.c b/src/etag.c deleted file mode 100644 index 0e16c598..00000000 --- a/src/etag.c +++ /dev/null @@ -1,53 +0,0 @@ -#include <string.h> - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#if defined HAVE_STDINT_H -#include <stdint.h> -#elif defined HAVE_INTTYPES_H -#include <inttypes.h> -#endif - -#include "buffer.h" -#include "etag.h" - -int etag_is_equal(buffer *etag, const char *matches) { - if (buffer_is_equal_string(etag, matches, strlen(matches))) return 1; - return 0; -} - -int etag_create(buffer *etag, struct stat *st, etag_flags_t flags) { - - if (0 == flags) return 0; - - buffer_reset(etag); - - if (flags & ETAG_USE_INODE) { - buffer_append_off_t(etag, st->st_ino); - buffer_append_string_len(etag, CONST_STR_LEN("-")); - } - if (flags & ETAG_USE_SIZE) { - buffer_append_off_t(etag, st->st_size); - buffer_append_string_len(etag, CONST_STR_LEN("-")); - } - if (flags & ETAG_USE_MTIME) { - buffer_append_long(etag, st->st_mtime); - } - return 0; -} - -int etag_mutate(buffer *mut, buffer *etag) { - size_t i; - uint32_t h; - - for (h=0, i=0; i < etag->used-1; ++i) h = (h<<5)^(h>>27)^(etag->ptr[i]); - - buffer_reset(mut); - buffer_copy_string_len(mut, CONST_STR_LEN("\"")); - buffer_append_long(mut, h); - buffer_append_string_len(mut, CONST_STR_LEN("\"")); - - return 0; -} |