mirror of
https://git.proxmox.com/git/libgit2
synced 2026-01-02 07:11:30 +00:00
Merge pull request #1906 from libgit2/cmn/net-cb-errors
transport: let the progress output return an error
This commit is contained in:
commit
9a5f2118e2
@ -410,7 +410,7 @@ struct git_remote_callbacks {
|
||||
* progress side-band will be passed to this function (this is
|
||||
* the 'counting objects' output.
|
||||
*/
|
||||
void (*progress)(const char *str, int len, void *data);
|
||||
int (*progress)(const char *str, int len, void *data);
|
||||
|
||||
/**
|
||||
* Completion is called when different parts of the download
|
||||
|
||||
@ -170,7 +170,7 @@ typedef enum {
|
||||
GIT_TRANSPORTFLAGS_NO_CHECK_CERT = 1
|
||||
} git_transport_flags_t;
|
||||
|
||||
typedef void (*git_transport_message_cb)(const char *str, int len, void *data);
|
||||
typedef int (*git_transport_message_cb)(const char *str, int len, void *data);
|
||||
|
||||
typedef struct git_transport git_transport;
|
||||
|
||||
|
||||
@ -509,7 +509,10 @@ int git_smart__download_pack(
|
||||
if (pkt->type == GIT_PKT_PROGRESS) {
|
||||
if (t->progress_cb) {
|
||||
git_pkt_progress *p = (git_pkt_progress *) pkt;
|
||||
t->progress_cb(p->data, p->len, t->message_cb_payload);
|
||||
if (t->progress_cb(p->data, p->len, t->message_cb_payload)) {
|
||||
giterr_set(GITERR_NET, "The fetch was cancelled by the user");
|
||||
return GIT_EUSER;
|
||||
}
|
||||
}
|
||||
git__free(pkt);
|
||||
} else if (pkt->type == GIT_PKT_DATA) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user