version 1.2, 2006/04/24 04:51:57 |
version 1.3, 2006/04/25 13:36:36 |
|
|
tv[1].tv_sec = tv[0].tv_sec; |
tv[1].tv_sec = tv[0].tv_sec; |
|
|
if (utimes(filename, tv) == -1) |
if (utimes(filename, tv) == -1) |
fatal("error setting utimes: %s", strerror(errno)); |
err(1, "utimes"); |
} |
} |
|
|
int |
int |
|
|
char *rcspath; |
char *rcspath; |
|
|
if ((rcspath = rcs_choosefile(fname)) == NULL) |
if ((rcspath = rcs_choosefile(fname)) == NULL) |
fatal("rcs_statfile: path truncation"); |
errx(1, "rcs_statfile: path truncation"); |
|
|
/* Error out if file not found and we are not creating one. */ |
/* Error out if file not found and we are not creating one. */ |
if (stat(rcspath, &st) == -1 && !(flags & RCS_CREATE)) { |
if (stat(rcspath, &st) == -1 && !(flags & RCS_CREATE)) { |
|
|
} |
} |
|
|
if (strlcpy(out, rcspath, len) >= len) |
if (strlcpy(out, rcspath, len) >= len) |
fatal("rcs_statfile: path truncation"); |
errx(1, "rcs_statfile: path truncation"); |
|
|
xfree(rcspath); |
xfree(rcspath); |
|
|
|
|
rcs_set_rev(const char *str, RCSNUM **rev) |
rcs_set_rev(const char *str, RCSNUM **rev) |
{ |
{ |
if (str == NULL || (*rev = rcsnum_parse(str)) == NULL) |
if (str == NULL || (*rev = rcsnum_parse(str)) == NULL) |
fatal("bad revision number '%s'", str); |
errx(1, "bad revision number '%s'", str); |
} |
} |
|
|
/* |
/* |
|
|
else if (*str2 == NULL) |
else if (*str2 == NULL) |
*str2 = new_str; |
*str2 = new_str; |
else |
else |
fatal("too many revision numbers"); |
errx(1, "too many revision numbers"); |
} |
} |
|
|
/* |
/* |
|
|
revrange = cvs_strsplit(revargv->argv[i], ":"); |
revrange = cvs_strsplit(revargv->argv[i], ":"); |
if (revrange->argv[0] == NULL) |
if (revrange->argv[0] == NULL) |
/* should not happen */ |
/* should not happen */ |
fatal("invalid revision range: %s", revargv->argv[i]); |
errx(1, "invalid revision range: %s", revargv->argv[i]); |
else if (revrange->argv[1] == NULL) |
else if (revrange->argv[1] == NULL) |
lstr = rstr = revrange->argv[0]; |
lstr = rstr = revrange->argv[0]; |
else { |
else { |
if (revrange->argv[2] != NULL) |
if (revrange->argv[2] != NULL) |
fatal("invalid revision range: %s", |
errx(1, "invalid revision range: %s", |
revargv->argv[i]); |
revargv->argv[i]); |
lstr = revrange->argv[0]; |
lstr = revrange->argv[0]; |
rstr = revrange->argv[1]; |
rstr = revrange->argv[1]; |
if (strcmp(lstr, "") == 0) |
if (strcmp(lstr, "") == 0) |
|
|
if (lstr == NULL) |
if (lstr == NULL) |
lstr = RCS_HEAD_INIT; |
lstr = RCS_HEAD_INIT; |
if (rcsnum_aton(lstr, &ep, &lnum) == 0 || (*ep != '\0')) |
if (rcsnum_aton(lstr, &ep, &lnum) == 0 || (*ep != '\0')) |
fatal("invalid revision: %s", lstr); |
errx(1, "invalid revision: %s", lstr); |
|
|
if (rstr != NULL) { |
if (rstr != NULL) { |
if (rcsnum_aton(rstr, &ep, &rnum) == 0 || (*ep != '\0')) |
if (rcsnum_aton(rstr, &ep, &rnum) == 0 || (*ep != '\0')) |
fatal("invalid revision: %s", rstr); |
errx(1, "invalid revision: %s", rstr); |
} else |
} else |
rcsnum_cpy(file->rf_head, &rnum, 0); |
rcsnum_cpy(file->rf_head, &rnum, 0); |
|
|