Skip to content

Commit 101736a

Browse files
Denton-Lgitster
authored andcommitted
pkt-line: extern packet_length()
In a future commit, we will be manually processing packets and we will need to access the length header. In order to simplify this, extern packet_length() so that the logic can be reused. Change the function parameter from `const char *linelen` to `const char lenbuf_hex[4]`. Even though these two types behave identically as function parameters, use the array notation to semantically indicate exactly what this function is expecting as an argument. Also, rename it from linelen to lenbuf_hex as the former sounds like it should be an integral type which is misleading. Signed-off-by: Denton Liu <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent dde72f9 commit 101736a

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

pkt-line.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -306,10 +306,10 @@ static int get_packet_data(int fd, char **src_buf, size_t *src_size,
306306
return ret;
307307
}
308308

309-
static int packet_length(const char *linelen)
309+
int packet_length(const char lenbuf_hex[4])
310310
{
311-
int val = hex2chr(linelen);
312-
return (val < 0) ? val : (val << 8) | hex2chr(linelen + 2);
311+
int val = hex2chr(lenbuf_hex);
312+
return (val < 0) ? val : (val << 8) | hex2chr(lenbuf_hex + 2);
313313
}
314314

315315
enum packet_read_status packet_read_with_status(int fd, char **src_buffer,

pkt-line.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,15 @@ int write_packetized_from_buf(const char *src_in, size_t len, int fd_out);
7474
int packet_read(int fd, char **src_buffer, size_t *src_len, char
7575
*buffer, unsigned size, int options);
7676

77+
/*
78+
* Convert a four hex digit packet line length header into its numeric
79+
* representation.
80+
*
81+
* If lenbuf_hex contains non-hex characters, return -1. Otherwise, return the
82+
* numeric value of the length header.
83+
*/
84+
int packet_length(const char lenbuf_hex[4]);
85+
7786
/*
7887
* Read a packetized line into a buffer like the 'packet_read()' function but
7988
* returns an 'enum packet_read_status' which indicates the status of the read.

0 commit comments

Comments
 (0)