Re: [PATCH] strbuf: move strbuf_readline_fd() from bundle.c to strbuf.{c,h}
- From
徐迪 <xudifsd@gmail.com>
- Date
- Feb 12, 2012, 12:25 UTC
- Message-ID
- <CAMocUqSefruci_ueWHUH6rqz8VFcakHErq8QV_bvghWMyHKVJg@mail.gmail.com>
- In-Reply-To
- <CAMocUqRutwERQ64a=9t36Za6Lm8KxpseS0NYbdGKWbixbsXeyw@mail.gmail.com>
Shouldn't I supposed to receive any information about this patch? Has it accepted or not? If not what wrong with this patch?
在 2012年2月11日 下午5:50,徐迪 <xudifsd@gmail.com> 写道:
Show 90 quoted lines
> strbuf_readline_fd() existed in bundle.c since e9ee84cf, but this
> function can be used elsewhere, and since it's relevant to strbuf, it
> should be in strbuf.{c,h}.
>
> Signed-off-by: Xu Di <xudifsd@gmail.com>
> ---
> bundle.c | 18 +-----------------
> strbuf.c | 16 ++++++++++++++++
> strbuf.h | 1 +
> 3 files changed, 18 insertions(+), 17 deletions(-)
>
> diff --git a/bundle.c b/bundle.c
> index b8acf3c..9344a91 100644
> --- a/bundle.c
> +++ b/bundle.c
> @@ -7,6 +7,7 @@
> #include "list-objects.h"
> #include "run-command.h"
> #include "refs.h"
> +#include "strbuf.h"
>
> static const char bundle_signature[] = "# v2 git bundle\n";
>
> @@ -23,23 +24,6 @@ static void add_to_ref_list(const unsigned char
> *sha1, const char *name,
> list->nr++;
> }
>
> -/* Eventually this should go to strbuf.[ch] */
> -static int strbuf_readline_fd(struct strbuf *sb, int fd)
> -{
> - strbuf_reset(sb);
> -
> - while (1) {
> - char ch;
> - ssize_t len = xread(fd, &ch, 1);
> - if (len <= 0)
> - return len;
> - strbuf_addch(sb, ch);
> - if (ch == '\n')
> - break;
> - }
> - return 0;
> -}
> -
> static int parse_bundle_header(int fd, struct bundle_header *header,
> const char *report_path)
> {
> diff --git a/strbuf.c b/strbuf.c
> index ff0b96b..7532a13 100644
> --- a/strbuf.c
> +++ b/strbuf.c
> @@ -282,6 +282,22 @@ void strbuf_addbuf_percentquote(struct strbuf
> *dst, const struct strbuf *src)
> }
> }
>
> +int strbuf_readline_fd(struct strbuf *sb, int fd)
> +{
> + strbuf_reset(sb);
> +
> + while (1) {
> + char ch;
> + ssize_t len = xread(fd, &ch, 1);
> + if (len <= 0)
> + return len;
> + strbuf_addch(sb, ch);
> + if (ch == '\n')
> + break;
> + }
> + return 0;
> +}
> +
> size_t strbuf_fread(struct strbuf *sb, size_t size, FILE *f)
> {
> size_t res;
> diff --git a/strbuf.h b/strbuf.h
> index fbf059f..ecebd11 100644
> --- a/strbuf.h
> +++ b/strbuf.h
> @@ -109,6 +109,7 @@ static inline void strbuf_complete_line(struct strbuf *sb)
> }
>
> extern size_t strbuf_fread(struct strbuf *, size_t, FILE *);
> +extern int strbuf_readline_fd(struct strbuf *sb, int fd);
> /* XXX: if read fails, any partial read is undone */
> extern ssize_t strbuf_read(struct strbuf *, int fd, size_t hint);
> extern int strbuf_read_file(struct strbuf *sb, const char *path, size_t hint);
> --
> 1.7.8.1.749.gb6b3b