269
struct object_id *oid, int *flags)
270
{
271
const char *result;
272
- int ignore_errno;
272
273
result = refs_resolve_ref_unsafe(refs, refname, resolve_flags,
275
- oid, flags, &ignore_errno);
274
+ oid, flags);
275
return xstrdup_or_null(result);
276
}
277
293
294
int read_ref_full(const char *refname, int resolve_flags, struct object_id *oid, int *flags)
295
{
297
- int ignore_errno;
296
struct ref_store *refs = get_main_ref_store(the_repository);
297
298
if (refs_resolve_ref_unsafe(refs, refname, resolve_flags,
301
- oid, flags, &ignore_errno))
299
+ oid, flags))
300
return 0;
301
return -1;
302
}
308
309
int refs_ref_exists(struct ref_store *refs, const char *refname)
310
{
313
- int ignore_errno;
311
return !!refs_resolve_ref_unsafe(refs, refname, RESOLVE_REF_READING,
315
- NULL, NULL, &ignore_errno);
312
+ NULL, NULL);
313
}
314
315
int ref_exists(const char *refname)
653
struct object_id *this_result;
654
int flag;
655
struct ref_store *refs = get_main_ref_store(repo);
659
- int ignore_errno;
656
657
this_result = refs_found ? &oid_from_ref : oid;
658
strbuf_reset(&fullref);
659
strbuf_addf(&fullref, *p, len, str);
660
r = refs_resolve_ref_unsafe(refs, fullref.buf,
661
RESOLVE_REF_READING,
666
- this_result, &flag,
667
- &ignore_errno);
662
+ this_result, &flag);
663
if (r) {
664
if (!refs_found++)
665
*ref = xstrdup(r);
688
for (p = ref_rev_parse_rules; *p; p++) {
689
struct object_id hash;
690
const char *ref, *it;
696
- int ignore_errno;
691
692
strbuf_reset(&path);
693
strbuf_addf(&path, *p, len, str);
694
ref = refs_resolve_ref_unsafe(refs, path.buf,
695
RESOLVE_REF_READING,
702
- oid ? &hash : NULL, NULL,
703
- &ignore_errno);
696
+ oid ? &hash : NULL, NULL);
697
if (!ref)
698
continue;
699
if (refs_reflog_exists(refs, path.buf))
1383
{
1384
struct object_id oid;
1385
int flag;
1393
- int ignore_errno;
1386
1387
if (refs_resolve_ref_unsafe(refs, "HEAD", RESOLVE_REF_READING,
1396
- &oid, &flag, &ignore_errno))
1388
+ &oid, &flag))
1389
return fn("HEAD", &oid, flag, cb_data);
1390
1391
return 0;
1674
const char *refname,
1675
int resolve_flags,
1676
struct object_id *oid,
1685
- int *flags, int *failure_errno)
1677
+ int *flags)
1678
{
1679
static struct strbuf sb_refname = STRBUF_INIT;
1680
struct object_id unused_oid;
1681
int unused_flags;
1682
int symref_count;
1683
1692
- assert(failure_errno);
1693
-
1684
if (!oid)
1685
oid = &unused_oid;
1686
if (!flags)
1690
1691
if (check_refname_format(refname, REFNAME_ALLOW_ONELEVEL)) {
1692
if (!(resolve_flags & RESOLVE_REF_ALLOW_BAD_NAME) ||
1703
- !refname_is_safe(refname)) {
1704
- *failure_errno = EINVAL;
1693
+ !refname_is_safe(refname))
1694
return NULL;
1706
- }
1695
1696
/*
1697
* dwim_ref() uses REF_ISBROKEN to distinguish between
1706
1707
for (symref_count = 0; symref_count < SYMREF_MAXDEPTH; symref_count++) {
1708
unsigned int read_flags = 0;
1709
+ int failure_errno;
1710
1711
if (refs_read_raw_ref(refs, refname, oid, &sb_refname,
1723
- &read_flags, failure_errno)) {
1712
+ &read_flags, &failure_errno)) {
1713
*flags |= read_flags;
1714
1715
/* In reading mode, refs must eventually resolve */
1721
* may show errors besides ENOENT if there are
1722
* similarly-named refs.
1723
*/
1735
- if (*failure_errno != ENOENT &&
1736
- *failure_errno != EISDIR &&
1737
- *failure_errno != ENOTDIR)
1724
+ if (failure_errno != ENOENT &&
1725
+ failure_errno != EISDIR &&
1726
+ failure_errno != ENOTDIR)
1727
return NULL;
1728
1729
oidclr(oid);
1749
}
1750
if (check_refname_format(refname, REFNAME_ALLOW_ONELEVEL)) {
1751
if (!(resolve_flags & RESOLVE_REF_ALLOW_BAD_NAME) ||
1763
- !refname_is_safe(refname)) {
1764
- *failure_errno = EINVAL;
1752
+ !refname_is_safe(refname))
1753
return NULL;
1766
- }
1754
1755
*flags |= REF_ISBROKEN | REF_BAD_NAME;
1756
}
1757
}
1758
1772
- *failure_errno = ELOOP;
1759
return NULL;
1760
}
1761
1770
const char *resolve_ref_unsafe(const char *refname, int resolve_flags,
1771
struct object_id *oid, int *flags)
1772
{
1787
- int ignore_errno;
1788
-
1773
return refs_resolve_ref_unsafe(get_main_ref_store(the_repository), refname,
1790
- resolve_flags, oid, flags, &ignore_errno);
1774
+ resolve_flags, oid, flags);
1775
}
1776
1777
int resolve_gitlink_ref(const char *submodule, const char *refname,
1779
{
1780
struct ref_store *refs;
1781
int flags;
1798
- int ignore_errno;
1782
1783
refs = get_submodule_ref_store(submodule);
1784
1785
if (!refs)
1786
return -1;
1787
1805
- if (!refs_resolve_ref_unsafe(refs, refname, 0, oid, &flags,
1806
- &ignore_errno) || is_null_oid(oid))
1788
+ if (!refs_resolve_ref_unsafe(refs, refname, 0, oid, &flags) ||
1789
+ is_null_oid(oid))
1790
return -1;
1791
return 0;
1792
}