diff options
author | Junio C Hamano <junkio@cox.net> | 2005-11-25 16:35:20 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-11-25 16:35:20 -0800 |
commit | 93dcab2937624ebb97f91807576cddb242a55a46 (patch) | |
tree | 8d16464f16866a7f215401a95f8bdaa124799d49 /refs.c | |
parent | 52b6536c624b4998b3730b55b9bc3d7c4e1071a4 (diff) | |
parent | 2a1ddc58e4d2220feea7eba4623dac07a0f83f94 (diff) | |
download | git-93dcab2937624ebb97f91807576cddb242a55a46.tar.gz git-93dcab2937624ebb97f91807576cddb242a55a46.tar.xz |
GIT 0.99.9kv0.99.9k
This is not 1.0rc4 yet, but to push the recent fixes out.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'refs.c')
-rw-r--r-- | refs.c | 40 |
1 files changed, 0 insertions, 40 deletions
@@ -10,46 +10,6 @@ #define USE_SYMLINK_HEAD 1 #endif -int validate_symref(const char *path) -{ - struct stat st; - char *buf, buffer[256]; - int len, fd; - - if (lstat(path, &st) < 0) - return -1; - - /* Make sure it is a "refs/.." symlink */ - if (S_ISLNK(st.st_mode)) { - len = readlink(path, buffer, sizeof(buffer)-1); - if (len >= 5 && !memcmp("refs/", buffer, 5)) - return 0; - return -1; - } - - /* - * Anything else, just open it and try to see if it is a symbolic ref. - */ - fd = open(path, O_RDONLY); - if (fd < 0) - return -1; - len = read(fd, buffer, sizeof(buffer)-1); - close(fd); - - /* - * Is it a symbolic ref? - */ - if (len < 4 || memcmp("ref:", buffer, 4)) - return -1; - buf = buffer + 4; - len -= 4; - while (len && isspace(*buf)) - buf++, len--; - if (len >= 5 && !memcmp("refs/", buf, 5)) - return 0; - return -1; -} - const char *resolve_ref(const char *path, unsigned char *sha1, int reading) { int depth = MAXDEPTH, len; |