version 1.160, 2006/04/02 20:57:53 |
version 1.161, 2006/04/05 01:38:55 |
|
|
return (NULL); |
return (NULL); |
} |
} |
|
|
rfp = (RCSFILE *)xmalloc(sizeof(*rfp)); |
rfp = xcalloc(1, sizeof(*rfp)); |
memset(rfp, 0, sizeof(*rfp)); |
|
|
|
rfp->rf_path = xstrdup(path); |
rfp->rf_path = xstrdup(path); |
rfp->rf_flags = flags | RCS_SLOCK | RCS_SYNCED; |
rfp->rf_flags = flags | RCS_SLOCK | RCS_SYNCED; |
|
|
} |
} |
} |
} |
|
|
ap = (struct rcs_access *)xmalloc(sizeof(*ap)); |
ap = xmalloc(sizeof(*ap)); |
ap->ra_name = xstrdup(login); |
ap->ra_name = xstrdup(login); |
TAILQ_INSERT_TAIL(&(file->rf_access), ap, ra_list); |
TAILQ_INSERT_TAIL(&(file->rf_access), ap, ra_list); |
|
|
|
|
} |
} |
} |
} |
|
|
symp = (struct rcs_sym *)xmalloc(sizeof(*symp)); |
symp = xmalloc(sizeof(*symp)); |
symp->rs_name = xstrdup(sym); |
symp->rs_name = xstrdup(sym); |
symp->rs_num = rcsnum_alloc(); |
symp->rs_num = rcsnum_alloc(); |
rcsnum_cpy(snum, symp->rs_num, 0); |
rcsnum_cpy(snum, symp->rs_num, 0); |
|
|
} |
} |
} |
} |
|
|
lkp = (struct rcs_lock *)xmalloc(sizeof(*lkp)); |
lkp = xmalloc(sizeof(*lkp)); |
lkp->rl_name = xstrdup(user); |
lkp->rl_name = xstrdup(user); |
lkp->rl_num = rcsnum_alloc(); |
lkp->rl_num = rcsnum_alloc(); |
rcsnum_cpy(rev, lkp->rl_num, 0); |
rcsnum_cpy(rev, lkp->rl_num, 0); |
|
|
if ((pw = getpwuid(getuid())) == NULL) |
if ((pw = getpwuid(getuid())) == NULL) |
fatal("getpwuid failed"); |
fatal("getpwuid failed"); |
|
|
rdp = (struct rcs_delta *)xmalloc(sizeof(*rdp)); |
rdp = xcalloc(1, sizeof(*rdp)); |
memset(rdp, 0, sizeof(*rdp)); |
|
|
|
TAILQ_INIT(&(rdp->rd_branches)); |
TAILQ_INIT(&(rdp->rd_branches)); |
|
|
|
|
if (rfp->rf_flags & RCS_PARSED) |
if (rfp->rf_flags & RCS_PARSED) |
return (0); |
return (0); |
|
|
pdp = (struct rcs_pdata *)xmalloc(sizeof(*pdp)); |
pdp = xcalloc(1, sizeof(*pdp)); |
memset(pdp, 0, sizeof(*pdp)); |
|
|
|
pdp->rp_lines = 0; |
pdp->rp_lines = 0; |
pdp->rp_pttype = RCS_TOK_ERR; |
pdp->rp_pttype = RCS_TOK_ERR; |
|
|
if ((pdp->rp_file = fopen(rfp->rf_path, "r")) == NULL) |
if ((pdp->rp_file = fopen(rfp->rf_path, "r")) == NULL) |
fatal("fopen: `%s': %s", rfp->rf_path, strerror(errno)); |
fatal("fopen: `%s': %s", rfp->rf_path, strerror(errno)); |
|
|
pdp->rp_buf = (char *)xmalloc((size_t)RCS_BUFSIZE); |
pdp->rp_buf = xmalloc((size_t)RCS_BUFSIZE); |
pdp->rp_blen = RCS_BUFSIZE; |
pdp->rp_blen = RCS_BUFSIZE; |
pdp->rp_bufend = pdp->rp_buf + pdp->rp_blen - 1; |
pdp->rp_bufend = pdp->rp_buf + pdp->rp_blen - 1; |
|
|
|
|
struct rcs_delta *rdp; |
struct rcs_delta *rdp; |
struct rcs_key *rk; |
struct rcs_key *rk; |
|
|
rdp = (struct rcs_delta *)xmalloc(sizeof(*rdp)); |
rdp = xcalloc(1, sizeof(*rdp)); |
memset(rdp, 0, sizeof(*rdp)); |
|
|
|
rdp->rd_num = rcsnum_alloc(); |
rdp->rd_num = rcsnum_alloc(); |
rdp->rd_next = rcsnum_alloc(); |
rdp->rd_next = rcsnum_alloc(); |
|
|
return (-1); |
return (-1); |
} |
} |
|
|
rdp->rd_text = (u_char *)xmalloc(RCS_TOKLEN(rfp) + 1); |
rdp->rd_text = xmalloc(RCS_TOKLEN(rfp) + 1); |
strlcpy(rdp->rd_text, RCS_TOKSTR(rfp), (RCS_TOKLEN(rfp) + 1)); |
strlcpy(rdp->rd_text, RCS_TOKSTR(rfp), (RCS_TOKLEN(rfp) + 1)); |
rdp->rd_tlen = RCS_TOKLEN(rfp); |
rdp->rd_tlen = RCS_TOKLEN(rfp); |
|
|
|
|
return (-1); |
return (-1); |
} |
} |
|
|
symp = (struct rcs_sym *)xmalloc(sizeof(*symp)); |
symp = xmalloc(sizeof(*symp)); |
symp->rs_name = xstrdup(RCS_TOKSTR(rfp)); |
symp->rs_name = xstrdup(RCS_TOKSTR(rfp)); |
symp->rs_num = rcsnum_alloc(); |
symp->rs_num = rcsnum_alloc(); |
|
|
|
|
return (-1); |
return (-1); |
} |
} |
|
|
lkp = (struct rcs_lock *)xmalloc(sizeof(*lkp)); |
lkp = xmalloc(sizeof(*lkp)); |
lkp->rl_name = xstrdup(RCS_TOKSTR(rfp)); |
lkp->rl_name = xstrdup(RCS_TOKSTR(rfp)); |
lkp->rl_num = rcsnum_alloc(); |
lkp->rl_num = rcsnum_alloc(); |
|
|
|
|
return (-1); |
return (-1); |
} |
} |
|
|
brp = (struct rcs_branch *)xmalloc(sizeof(*brp)); |
brp = xmalloc(sizeof(*brp)); |
brp->rb_num = rcsnum_parse(RCS_TOKSTR(rfp)); |
brp->rb_num = rcsnum_parse(RCS_TOKSTR(rfp)); |
if (brp->rb_num == NULL) { |
if (brp->rb_num == NULL) { |
xfree(brp); |
xfree(brp); |
|
|
struct rcs_pdata *pdp = (struct rcs_pdata *)rf->rf_pdata; |
struct rcs_pdata *pdp = (struct rcs_pdata *)rf->rf_pdata; |
|
|
tmp = xrealloc(pdp->rp_buf, 1, pdp->rp_blen + RCS_BUFEXTSIZE); |
tmp = xrealloc(pdp->rp_buf, 1, pdp->rp_blen + RCS_BUFEXTSIZE); |
pdp->rp_buf = (char *)tmp; |
pdp->rp_buf = tmp; |
pdp->rp_blen += RCS_BUFEXTSIZE; |
pdp->rp_blen += RCS_BUFEXTSIZE; |
pdp->rp_bufend = pdp->rp_buf + pdp->rp_blen - 1; |
pdp->rp_bufend = pdp->rp_buf + pdp->rp_blen - 1; |
} |
} |
|
|
strlcat(expbuf, "$", sizeof(expbuf)); |
strlcat(expbuf, "$", sizeof(expbuf)); |
|
|
sizdiff = strlen(expbuf) - (end - start); |
sizdiff = strlen(expbuf) - (end - start); |
tbuf = xmalloc(strlen(end) + 1); |
tbuf = xstrdup(end); |
strlcpy(tbuf, end, strlen(end) + 1); |
|
/* only realloc if we have to */ |
/* only realloc if we have to */ |
if (sizdiff > 0) { |
if (sizdiff > 0) { |
|
char *newdata; |
|
|
len += sizdiff; |
len += sizdiff; |
data = xrealloc(data, 1, len); |
newdata = xrealloc(data, 1, len); |
|
data = newdata; |
/* |
/* |
* ensure string pointers are not invalidated |
* ensure string pointers are not invalidated |
* after realloc() |
* after realloc() |
|
|
|
|
len = strlen(dtext); |
len = strlen(dtext); |
if (len != 0) { |
if (len != 0) { |
rdp->rd_text = (u_char *)xmalloc(len + 1); |
/* XXX - use xstrdup() if rd_text changes to char *. */ |
|
rdp->rd_text = xmalloc(len + 1); |
rdp->rd_tlen = len; |
rdp->rd_tlen = len; |
(void)memcpy(rdp->rd_text, dtext, len + 1); |
(void)memcpy(rdp->rd_text, dtext, len + 1); |
} else { |
} else { |