authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-08-07 18:15:07-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-08-07 19:55:40-07:00
logd7bf60882183dc7479f8cdc2fb756f1dba726167
treef58b6d81e8b78c9ac51a17674a8c3a3b4d6980ee
parent6244f5c6cbd87c364be6a54ebfe40d1e6f581532

Fetch: make FetchStream live longer


1 files changed, 7 insertions(+), 7 deletions(-)

src/Package/Fetch.zig+7-7
...@@ -1092,17 +1092,17 @@ fn initResource(f: *Fetch, uri: std.Uri, resource: *Resource, reader_buffer: []u...@@ -1092,17 +1092,17 @@ fn initResource(f: *Fetch, uri: std.Uri, resource: *Resource, reader_buffer: []u
10921092
1093 var want_oid_buf: [git.Oid.max_formatted_length]u8 = undefined;1093 var want_oid_buf: [git.Oid.max_formatted_length]u8 = undefined;
1094 _ = std.fmt.bufPrint(&want_oid_buf, "{f}", .{want_oid}) catch unreachable;1094 _ = std.fmt.bufPrint(&want_oid_buf, "{f}", .{want_oid}) catch unreachable;
1095 var fetch_stream: git.Session.FetchStream = undefined;
1096 session.fetch(&fetch_stream, &.{&want_oid_buf}, reader_buffer) catch |err| {
1097 return f.fail(f.location_tok, try eb.printString("unable to create fetch stream: {t}", .{err}));
1098 };
1099 errdefer fetch_stream.deinit();
1100
1101 resource.* = .{ .git = .{1095 resource.* = .{ .git = .{
1102 .session = session,1096 .session = session,
1103 .fetch_stream = fetch_stream,1097 .fetch_stream = undefined,
1104 .want_oid = want_oid,1098 .want_oid = want_oid,
1105 } };1099 } };
1100 const fetch_stream = &resource.git.fetch_stream;
1101 session.fetch(fetch_stream, &.{&want_oid_buf}, reader_buffer) catch |err| {
1102 return f.fail(f.location_tok, try eb.printString("unable to create fetch stream: {t}", .{err}));
1103 };
1104 errdefer fetch_stream.deinit(fetch_stream);
1105
1106 return;1106 return;
1107 }1107 }
11081108