Re: [PATCH] wt-status: i18n of section labels
Le 2014-03-12 16:12, Junio C Hamano a écrit :
Show 61 quoted lines
> Sandy Carter <sandy.carter@savoirfairelinux.com> writes:
>
>> Le 2014-03-12 15:22, Junio C Hamano a écrit :
>>> static const char *wt_status_diff_status_string(int status)
>>> {
>>> switch (status) {
>>> case DIFF_STATUS_ADDED:
>>> - return _("new file");
>>> + return _("new file:");
>>> case DIFF_STATUS_COPIED:
>>> - return _("copied");
>>> + return _("copied:");
>>> case DIFF_STATUS_DELETED:
>>> - return _("deleted");
>>> + return _("deleted:");
>>> case DIFF_STATUS_MODIFIED:
>>> - return _("modified");
>>> + return _("modified:");
>>> case DIFF_STATUS_RENAMED:
>>> - return _("renamed");
>>> + return _("renamed:");
>>> case DIFF_STATUS_TYPE_CHANGED:
>>> - return _("typechange");
>>> + return _("typechange:");
>>> case DIFF_STATUS_UNKNOWN:
>>> - return _("unknown");
>>> + return _("unknown:");
>>> case DIFF_STATUS_UNMERGED:
>>> - return _("unmerged");
>>> + return _("unmerged:");
>>> default:
>>> - return NULL;
>>> + return _("bug");
>>> + }
>>> +}
>>
>> I don't see why _("bug") is returned when, later down,
>
> When there is a bug in the caller.
>
>>
>>> @@ -305,21 +346,16 @@ static void wt_status_print_change_data(struct wt_status *s,
>>> struct strbuf onebuf = STRBUF_INIT, twobuf = STRBUF_INIT;
>>> struct strbuf extra = STRBUF_INIT;
>>> static char *padding;
>>> + static int label_width;
>>> const char *what;
>>> int len;
>>>
>>> if (!padding) {
>>> - int width = 0;
>>> - /* If DIFF_STATUS_* uses outside this range, we're in trouble */
>>> - for (status = 'A'; status <= 'Z'; status++) {
>>> - what = wt_status_diff_status_string(status);
>>> - len = what ? strlen(what) : 0;
>>
>> checks for NULL.
>
> That extra NULL-ness check can go, I think. Thanks for
> double-checking.
>I refered to the wrong lines, the ones I was refering to were:
> +static int maxwidth(const char *(*label)(int), int minval, int maxval)
> +{
> + int result = 0, i;
> +
> + for (i = minval; i <= maxval; i++) {
> + const char *s = label(i);
> + int len = s ? utf8_strwidth(s) : 0;Sorry about that