| 247 | } |
| 248 | |
| 249 | static int ce_compare_link(const struct cache_entry *ce, size_t expected_size) |
| 250 | { |
| 251 | int match = -1; |
| 252 | void *buffer; |
| 253 | size_t size; |
| 254 | enum object_type type; |
| 255 | struct strbuf sb = STRBUF_INIT; |
| 256 | |
| 257 | if (strbuf_readlink(&sb, ce->name, expected_size)) |
| 258 | return -1; |
| 259 | |
| 260 | buffer = odb_read_object(the_repository->objects, &ce->oid, &type, &size); |
| 261 | if (buffer) { |
| 262 | if (size == sb.len) |
| 263 | match = memcmp(buffer, sb.buf, size); |
| 264 | free(buffer); |
| 265 | } |
| 266 | strbuf_release(&sb); |
| 267 | return match; |
| 268 | } |
| 269 | |
| 270 | static int ce_compare_gitlink(const struct cache_entry *ce) |
| 271 | { |
no test coverage detected