git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 5/6] t0021/rot13-filter: add capability functions

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 5, 2017, 02:03 UTC
Message-ID
<xmqqwp35lbx3.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<CAP8UFD0MppGwD5iXNjs8y+qxpFGc2NbYE9gcqe2pmJWAt6CZfg@mail.gmail.com>
Christian Couder <christian.couder@gmail.com> writes:
Show 18 quoted lines
>>> +             my ( $res, $buf ) = packet_bin_read();
>>> +             return ( $res, @cap ) if ( $res != 0 );
>>
>> The original had the same "'list eq list' does not do what you may
>> think it does" issue.  This one corrects it, which is good.
>>
>> I am not sure if ($res != 0) is correct though.  What should happen
>> when you get an unexpected EOF at this point?  The original would
>> have died; this ignores and continues.
>
> Well if there is an unexpected EOF, then packet_bin_read() returns
> (-1, ""), so packet_read_capabilities() returns (-1, @cap) where @cap
> contains the capabilities already received. Then
> packet_read_and_check_capabilities() checks that we received all the
> capabilities we expect and dies if that is not the case. If we did
> receive all the capabilities, then
> packet_read_and_check_capabilities() still returns -1, so the caller
> may check that and die.

In other words, it happens, by accident, to stop before going very far. I think we'd be better off making it an explicitly checked error.

> But yeah we could also just die in packet_read_capabilities() if $res
> is -1. I will make this change.
Good.
Thanks.
Previous: Christian CouderNext: Christian Couder
Message 10 of 32 in “Create Git/Packet.pm”
  1. 0/6 Create Git/Packet.pmChristian Couder, Oct 19, 2017
  2. 1/6 t0021/rot13-filter: refactor packet reading functionsChristian Couder, Oct 19, 2017
  3. Stefan BellerOct 19, 2017
  4. Junio C HamanoOct 22, 2017
  5. Christian CouderNov 5, 2017
  6. 3/6 t0021/rot13-filter: improve error messageChristian Couder, Oct 19, 2017
  7. 5/6 t0021/rot13-filter: add capability functionsChristian Couder, Oct 19, 2017
  8. Junio C HamanoOct 22, 2017
  9. Christian CouderNov 4, 2017
  10. Junio C HamanoNov 5, 2017
  11. 6/6 Add Git/Packet.pm from parts of t0021/rot13-filter.plChristian Couder, Oct 19, 2017
  12. Stefan BellerOct 19, 2017
  13. 2/6 t0021/rot13-filter: improve 'if .. elsif .. else' styleChristian Couder, Oct 19, 2017
  14. 4/6 t0021/rot13-filter: add packet_initialize()Christian Couder, Oct 19, 2017
  15. Junio C HamanoOct 22, 2017
  16. Junio C HamanoOct 27, 2017
  17. Christian CouderOct 27, 2017
  18. Lars SchneiderOct 28, 2017
  19. Junio C HamanoOct 29, 2017
  20. Junio C HamanoOct 22, 2017
  21. Philip OakleyOct 23, 2017
  22. Jeff KingOct 30, 2017
  23. Johannes SchindelinOct 25, 2017
  24. Junio C HamanoOct 26, 2017
  25. Jacob KellerOct 26, 2017
  26. Bryan TurnerOct 26, 2017
  27. Bryan TurnerOct 26, 2017
  28. Johannes SchindelinOct 27, 2017
  29. Johannes SchindelinOct 27, 2017
  30. Junio C HamanoOct 30, 2017
  31. Christian CouderOct 30, 2017
  32. Johannes SchindelinOct 30, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.