git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Eric Sunshine <sunshine@sunshineco.com>
To: Karthik Nayak <karthik.188@gmail.com>
Cc: Git List <git@vger.kernel.org>,
	Christian Couder <christian.couder@gmail.com>,
	Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>,
	Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH v10 04/13] utf8: add function to align a string into given strbuf
Date: Thu, 13 Aug 2015 15:08:54 -0400	[thread overview]
Message-ID: <CAPig+cS+rS=xKX-LrJSTqFgaopuLzbh3hqURFWXfzMXH=XUk2w@mail.gmail.com> (raw)
In-Reply-To: <1439129506-9989-5-git-send-email-Karthik.188@gmail.com>

On Sun, Aug 9, 2015 at 10:11 AM, Karthik Nayak <karthik.188@gmail.com> wrote:
> Add strbuf_utf8_align() which will align a given string into a strbuf
> as per given align_type and width. If the width is greater than the
> string length then no alignment is performed.

In addition to Junio's valuable comments...

> Signed-off-by: Karthik Nayak <karthik.188@gmail.com>
> ---
> diff --git a/utf8.h b/utf8.h
> index 5a9e94b..db8ca63 100644
> --- a/utf8.h
> +++ b/utf8.h
> @@ -55,4 +55,17 @@ int mbs_chrlen(const char **text, size_t *remainder_p, const char *encoding);
>   */
>  int is_hfs_dotgit(const char *path);
>
> +typedef enum {
> +       ALIGN_LEFT,
> +       ALIGN_MIDDLE,
> +       ALIGN_RIGHT
> +} align_type;
> +
> +/*
> + * Align the string given and store it into a strbuf as per the type
> + * and width.
> + */

Please extend this documentation to state explicitly that this
function preserves (does not truncate) the input string if it is wider
than 'width'. That's quite important information for the caller to
know.

(Aside: I could easily see this function being extended to support
optional truncation, but that's a separate topic, and something that
can be done by someone else when the feature is actually needed; it's
not your responsibility.)

> +void strbuf_utf8_align(struct strbuf *buf, align_type position, unsigned int width,
> +                      const char *s);
> +
>  #endif

  parent reply	other threads:[~2015-08-13 19:09 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-09 14:11 [PATCH v10 00/13] port tag.c to use ref-filter APIs Karthik Nayak
2015-08-09 14:11 ` [PATCH v10 01/13] ref-filter: move `struct atom_value` to ref-filter.c Karthik Nayak
2015-08-09 14:11 ` [PATCH v10 02/13] ref-filter: print output to strbuf for formatting Karthik Nayak
2015-08-11 17:56   ` Junio C Hamano
2015-08-12 13:22     ` Karthik Nayak
2015-08-12 16:29       ` Junio C Hamano
2015-08-12 16:56         ` Karthik Nayak
2015-08-11 18:00   ` Junio C Hamano
2015-08-12 13:22     ` Karthik Nayak
2015-08-09 14:11 ` [PATCH v10 03/13] ref-filter: introduce ref_formatting_state Karthik Nayak
2015-08-11 18:13   ` Junio C Hamano
2015-08-12 13:26     ` Karthik Nayak
2015-08-09 14:11 ` [PATCH v10 04/13] utf8: add function to align a string into given strbuf Karthik Nayak
2015-08-11 18:22   ` Junio C Hamano
2015-08-12 13:41     ` Karthik Nayak
2015-08-12 16:40       ` Junio C Hamano
2015-08-12 17:10         ` Karthik Nayak
2015-08-13 19:08   ` Eric Sunshine [this message]
2015-08-13 20:55     ` Karthik Nayak
2015-08-14 16:06     ` Junio C Hamano
2015-08-15  8:27   ` Duy Nguyen
2015-08-09 14:11 ` [PATCH v10 05/13] ref-filter: implement an `align` atom Karthik Nayak
2015-08-11 18:52   ` Junio C Hamano
2015-08-12 16:24     ` Karthik Nayak
2015-08-12 17:13       ` Junio C Hamano
2015-08-12 20:07         ` Karthik Nayak
2015-08-12 20:24           ` Junio C Hamano
2015-08-14 15:46             ` Karthik Nayak
2015-08-14 17:42               ` Junio C Hamano
2015-08-13 18:26   ` Eric Sunshine
2015-08-13 20:29     ` Karthik Nayak
2015-08-09 14:11 ` [PATCH v10 06/13] ref-filter: add option to filter only tags Karthik Nayak
2015-08-09 14:11 ` [PATCH v10 07/13] ref-filter: support printing N lines from tag annotation Karthik Nayak
2015-08-09 14:11 ` [PATCH v10 08/13] ref-filter: add support to sort by version Karthik Nayak
2015-08-09 14:11 ` [PATCH v10 09/13] ref-filter: add option to match literal pattern Karthik Nayak
2015-08-09 14:11 ` [PATCH v10 10/13] tag.c: use 'ref-filter' data structures Karthik Nayak
2015-08-09 14:17 ` Karthik Nayak
2015-08-09 14:32 ` [PATCH v10 11/13] tag.c: use 'ref-filter' APIs Karthik Nayak
2015-08-09 14:32 ` [PATCH v10 12/13] tag.c: implement '--format' option Karthik Nayak
2015-08-09 14:32 ` [PATCH v10 13/13] tag.c: implement '--merged' and '--no-merged' options Karthik Nayak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAPig+cS+rS=xKX-LrJSTqFgaopuLzbh3hqURFWXfzMXH=XUk2w@mail.gmail.com' \
    --to=sunshine@sunshineco.com \
    --cc=Matthieu.Moy@grenoble-inp.fr \
    --cc=christian.couder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=karthik.188@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).