git_pkt *pkt;
pkt = git__malloc(sizeof(git_pkt));
- GITERR_CHECK_ALLOC(pkt);
+ GIT_ERROR_CHECK_ALLOC(pkt);
pkt->type = GIT_PKT_FLUSH;
*out = pkt;
git_pkt_ack *pkt;
pkt = git__calloc(1, sizeof(git_pkt_ack));
- GITERR_CHECK_ALLOC(pkt);
+ GIT_ERROR_CHECK_ALLOC(pkt);
pkt->type = GIT_PKT_ACK;
if (git__prefixncmp(line, len, "ACK "))
return 0;
out_err:
- giterr_set(GITERR_NET, "error parsing ACK pkt-line");
+ git_error_set(GIT_ERROR_NET, "error parsing ACK pkt-line");
git__free(pkt);
return -1;
}
git_pkt *pkt;
pkt = git__malloc(sizeof(git_pkt));
- GITERR_CHECK_ALLOC(pkt);
+ GIT_ERROR_CHECK_ALLOC(pkt);
pkt->type = GIT_PKT_NAK;
*out = pkt;
git_pkt_comment *pkt;
size_t alloclen;
- GITERR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_pkt_comment), len);
- GITERR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1);
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_pkt_comment), len);
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1);
pkt = git__malloc(alloclen);
- GITERR_CHECK_ALLOC(pkt);
+ GIT_ERROR_CHECK_ALLOC(pkt);
pkt->type = GIT_PKT_COMMENT;
memcpy(pkt->comment, line, len);
line += 4;
len -= 4;
- GITERR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_pkt_progress), len);
- GITERR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1);
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_pkt_progress), len);
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1);
pkt = git__malloc(alloclen);
- GITERR_CHECK_ALLOC(pkt);
+ GIT_ERROR_CHECK_ALLOC(pkt);
pkt->type = GIT_PKT_ERR;
pkt->len = len;
return 0;
out_err:
- giterr_set(GITERR_NET, "error parsing ERR pkt-line");
+ git_error_set(GIT_ERROR_NET, "error parsing ERR pkt-line");
git__free(pkt);
return -1;
}
line++;
len--;
- GITERR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_pkt_progress), len);
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_pkt_progress), len);
pkt = git__malloc(alloclen);
- GITERR_CHECK_ALLOC(pkt);
+ GIT_ERROR_CHECK_ALLOC(pkt);
pkt->type = GIT_PKT_DATA;
pkt->len = len;
line++;
len--;
- GITERR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_pkt_progress), len);
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_pkt_progress), len);
pkt = git__malloc(alloclen);
- GITERR_CHECK_ALLOC(pkt);
+ GIT_ERROR_CHECK_ALLOC(pkt);
pkt->type = GIT_PKT_PROGRESS;
pkt->len = len;
line++;
len--;
- GITERR_CHECK_ALLOC_ADD(&alloc_len, sizeof(git_pkt_err), len);
- GITERR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 1);
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, sizeof(git_pkt_err), len);
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 1);
pkt = git__malloc(alloc_len);
- GITERR_CHECK_ALLOC(pkt);
+ GIT_ERROR_CHECK_ALLOC(pkt);
pkt->type = GIT_PKT_ERR;
pkt->len = (int)len;
size_t alloclen;
pkt = git__calloc(1, sizeof(git_pkt_ref));
- GITERR_CHECK_ALLOC(pkt);
+ GIT_ERROR_CHECK_ALLOC(pkt);
pkt->type = GIT_PKT_REF;
if (len < GIT_OID_HEXSZ || git_oid_fromstr(&pkt->head.oid, line) < 0)
if (line[len - 1] == '\n')
--len;
- GITERR_CHECK_ALLOC_ADD(&alloclen, len, 1);
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, len, 1);
pkt->head.name = git__malloc(alloclen);
- GITERR_CHECK_ALLOC(pkt->head.name);
+ GIT_ERROR_CHECK_ALLOC(pkt->head.name);
memcpy(pkt->head.name, line, len);
pkt->head.name[len] = '\0';
return 0;
out_err:
- giterr_set(GITERR_NET, "error parsing REF pkt-line");
+ git_error_set(GIT_ERROR_NET, "error parsing REF pkt-line");
if (pkt)
git__free(pkt->head.name);
git__free(pkt);
size_t alloc_len;
pkt = git__malloc(sizeof(*pkt));
- GITERR_CHECK_ALLOC(pkt);
+ GIT_ERROR_CHECK_ALLOC(pkt);
pkt->type = GIT_PKT_OK;
if (git__prefixncmp(line, len, "ok "))
if (line[len - 1] == '\n')
--len;
- GITERR_CHECK_ALLOC_ADD(&alloc_len, len, 1);
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, len, 1);
pkt->ref = git__malloc(alloc_len);
- GITERR_CHECK_ALLOC(pkt->ref);
+ GIT_ERROR_CHECK_ALLOC(pkt->ref);
memcpy(pkt->ref, line, len);
pkt->ref[len] = '\0';
return 0;
out_err:
- giterr_set(GITERR_NET, "error parsing OK pkt-line");
+ git_error_set(GIT_ERROR_NET, "error parsing OK pkt-line");
git__free(pkt);
return -1;
}
size_t alloclen;
pkt = git__malloc(sizeof(*pkt));
- GITERR_CHECK_ALLOC(pkt);
+ GIT_ERROR_CHECK_ALLOC(pkt);
pkt->ref = NULL;
pkt->type = GIT_PKT_NG;
goto out_err;
len = ptr - line;
- GITERR_CHECK_ALLOC_ADD(&alloclen, len, 1);
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, len, 1);
pkt->ref = git__malloc(alloclen);
- GITERR_CHECK_ALLOC(pkt->ref);
+ GIT_ERROR_CHECK_ALLOC(pkt->ref);
memcpy(pkt->ref, line, len);
pkt->ref[len] = '\0';
goto out_err;
len = ptr - line;
- GITERR_CHECK_ALLOC_ADD(&alloclen, len, 1);
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, len, 1);
pkt->msg = git__malloc(alloclen);
- GITERR_CHECK_ALLOC(pkt->msg);
+ GIT_ERROR_CHECK_ALLOC(pkt->msg);
memcpy(pkt->msg, line, len);
pkt->msg[len] = '\0';
return 0;
out_err:
- giterr_set(GITERR_NET, "invalid packet line");
+ git_error_set(GIT_ERROR_NET, "invalid packet line");
git__free(pkt->ref);
git__free(pkt);
return -1;
git_pkt_unpack *pkt;
pkt = git__malloc(sizeof(*pkt));
- GITERR_CHECK_ALLOC(pkt);
+ GIT_ERROR_CHECK_ALLOC(pkt);
pkt->type = GIT_PKT_UNPACK;
if (!git__prefixncmp(line, len, "unpack ok"))
}
}
- giterr_set(GITERR_NET, "invalid hex digit in length: '%s'", num);
+ git_error_set(GIT_ERROR_NET, "invalid hex digit in length: '%s'", num);
return -1;
}
}
if (error == GIT_EBUFS)
;
else if (!git__prefixncmp(line, linelen, "PACK"))
- giterr_set(GITERR_NET, "unexpected pack file");
+ git_error_set(GIT_ERROR_NET, "unexpected pack file");
else
- giterr_set(GITERR_NET, "bad packet length");
+ git_error_set(GIT_ERROR_NET, "bad packet length");
return error;
}
* line, we should return an error upon hitting one.
*/
if (len == PKT_LEN_SIZE) {
- giterr_set_str(GITERR_NET, "Invalid empty packet");
+ git_error_set_str(GIT_ERROR_NET, "Invalid empty packet");
return GIT_ERROR;
}
void git_pkt_free(git_pkt *pkt)
{
+ if (pkt == NULL) {
+ return;
+ }
if (pkt->type == GIT_PKT_REF) {
git_pkt_ref *p = (git_pkt_ref *) pkt;
git__free(p->head.name);
git_buf_len(&str) + 1 /* LF */;
if (len > 0xffff) {
- giterr_set(GITERR_NET,
+ git_error_set(GIT_ERROR_NET,
"tried to produce packet with invalid length %" PRIuZ, len);
return -1;
}
git_oid_fmt(oid, &head->oid);
git_buf_printf(buf,
"%04xwant %s %s\n", (unsigned int)len, oid, git_buf_cstr(&str));
- git_buf_free(&str);
+ git_buf_dispose(&str);
- GITERR_CHECK_ALLOC_BUF(buf);
+ GIT_ERROR_CHECK_ALLOC_BUF(buf);
return 0;
}