On 11/19/2014 02:37 AM, Jeff King wrote:
> Now that error() does not clobber errno, we do not have to
> take pains to save it ourselves.
> 
> Signed-off-by: Jeff King <p...@peff.net>
> ---
>  refs.c | 7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/refs.c b/refs.c
> index 5ff457e..169a46d 100644
> --- a/refs.c
> +++ b/refs.c
> @@ -2232,7 +2232,6 @@ static struct ref_lock *lock_ref_sha1_basic(const char 
> *refname,
>       char *ref_file;
>       const char *orig_refname = refname;
>       struct ref_lock *lock;
> -     int last_errno = 0;
>       int type, lflags;
>       int mustexist = (old_sha1 && !is_null_sha1(old_sha1));
>       int resolve_flags = 0;
> @@ -2260,7 +2259,6 @@ static struct ref_lock *lock_ref_sha1_basic(const char 
> *refname,
>                */
>               ref_file = git_path("%s", orig_refname);
>               if (remove_empty_directories(ref_file)) {
> -                     last_errno = errno;
>                       error("there are still refs under '%s'", orig_refname);
>                       goto error_return;
>               }
> @@ -2270,7 +2268,6 @@ static struct ref_lock *lock_ref_sha1_basic(const char 
> *refname,
>       if (type_p)
>           *type_p = type;
>       if (!refname) {
> -             last_errno = errno;
>               error("unable to resolve reference %s: %s",
>                       orig_refname, strerror(errno));
>               goto error_return;
> @@ -2283,7 +2280,7 @@ static struct ref_lock *lock_ref_sha1_basic(const char 
> *refname,
>        */
>       if (missing &&
>            !is_refname_available(refname, skip, get_packed_refs(&ref_cache))) 
> {
> -             last_errno = ENOTDIR;
> +             errno = ENOTDIR;
>               goto error_return;
>       }
>  
> @@ -2311,7 +2308,6 @@ static struct ref_lock *lock_ref_sha1_basic(const char 
> *refname,
>                       goto retry;
>               /* fall through */
>       default:
> -             last_errno = errno;
>               error("unable to create directory for %s", ref_file);
>               goto error_return;
>       }
> @@ -2332,7 +2328,6 @@ static struct ref_lock *lock_ref_sha1_basic(const char 
> *refname,
>  
>   error_return:
>       unlock_ref(lock);
> -     errno = last_errno;
>       return NULL;
>  }

error() doesn't clobber errno anymore, but unlock_ref() still might.

Michael

-- 
Michael Haggerty
mhag...@alum.mit.edu

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to