version 1.66, 2006/03/24 05:14:48 |
version 1.67, 2006/03/27 21:56:32 |
|
|
*/ |
*/ |
bp = rcs_kwexp_buf(bp, file, frev); |
bp = rcs_kwexp_buf(bp, file, frev); |
|
|
|
/* |
|
* File inherits permissions from its ,v file |
|
*/ |
|
if (stat(file->rf_path, &st) == -1) |
|
fatal("could not stat rcsfile"); |
|
|
|
mode = st.st_mode; |
|
|
if (flags & CO_LOCK) { |
if (flags & CO_LOCK) { |
if ((lockname != NULL) |
if ((lockname != NULL) |
&& (rcs_lock_add(file, lockname, frev) < 0)) { |
&& (rcs_lock_add(file, lockname, frev) < 0)) { |
|
|
return (-1); |
return (-1); |
} |
} |
|
|
mode = 0644; |
/* Strip all write bits from mode */ |
|
mode = st.st_mode & |
|
(S_IXUSR|S_IXGRP|S_IXOTH|S_IRUSR|S_IRGRP|S_IROTH); |
|
mode |= S_IWUSR; |
if ((verbose == 1) && !(flags & NEWFILE)) |
if ((verbose == 1) && !(flags & NEWFILE)) |
printf(" (locked)"); |
printf(" (locked)"); |
} else if (flags & CO_UNLOCK) { |
} else if (flags & CO_UNLOCK) { |
|
|
return (-1); |
return (-1); |
} |
} |
|
|
mode = 0444; |
/* Strip all write bits from mode */ |
|
mode = st.st_mode & |
|
(S_IXUSR|S_IXGRP|S_IXOTH|S_IRUSR|S_IRGRP|S_IROTH); |
if ((verbose == 1) && !(flags & NEWFILE)) |
if ((verbose == 1) && !(flags & NEWFILE)) |
printf(" (unlocked)"); |
printf(" (unlocked)"); |
} |
} |