Removing trailing blanks would have induced one test failure. This fixes it *before* I remove all trailing blanks.
>From 8f3560f0ac95db4e72f54adf38df604ea0e4de34 Mon Sep 17 00:00:00 2001 From: Jim Meyering <[email protected]> Date: Thu, 5 Mar 2009 15:18:02 +0100 Subject: [PATCH] adjust "parted -s dev print" not to emit trailing spaces * parted/table.c (table_render_row): Don't append trailing spaces or delimiter after final field, and trim any other trailing spaces. * tests/t5000-tags.sh: Remove trailing spaces from expected output. --- parted/table.c | 18 ++++++++++++++---- tests/t5000-tags.sh | 6 +++--- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/parted/table.c b/parted/table.c index 83f9cb5..6bc7f9c 100644 --- a/parted/table.c +++ b/parted/table.c @@ -3,7 +3,7 @@ */ /* parted - a frontend to libparted - Copyright (C) 2006-2008 Free Software Foundation, Inc. + Copyright (C) 2006-2009 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -173,7 +173,7 @@ void table_add_row_from_strlist (Table* t, StrList* list) static void table_render_row (Table* t, int rownum, int ncols, wchar_t** s) { wchar_t** row = t->rows[rownum]; - int len = 1, i; + size_t len = 1, i; size_t newsize; assert(t); @@ -189,6 +189,10 @@ static void table_render_row (Table* t, int rownum, int ncols, wchar_t** s) for (i = 0; i < ncols; ++i) { + wcscat (*s, row[i]); + if (ncols <= i + 1) + break; + int j; int nspaces = max(t->widths[i] - wcswidth(row[i], MAX_WIDTH), 0); @@ -199,15 +203,21 @@ static void table_render_row (Table* t, int rownum, int ncols, wchar_t** s) pad[nspaces] = L_('\0'); - wcscat (*s, row[i]); wcscat (*s, pad); if (i + 1 < ncols) wcscat (*s, DELIMITER); free (pad); - pad = NULL; } + /* Remove any trailing blanks. */ + wchar_t *p = *s; + size_t k = wcslen (p); + while (k && p[k-1] == L_(' ')) + --k; + p[k] = L_('\0'); + + wcscat (*s, COLSUFFIX); } diff --git a/tests/t5000-tags.sh b/tests/t5000-tags.sh index bb4c6d3..6a89729 100755 --- a/tests/t5000-tags.sh +++ b/tests/t5000-tags.sh @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright (C) 2007,2008 Free Software Foundation, Inc. +# Copyright (C) 2007-2009 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -59,14 +59,14 @@ Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags - 1 17.4kB 48.6kB 31.2kB primary + 1 17.4kB 48.6kB 31.2kB primary Model: (file) Disk .../$dev: 65.5kB Sector size (logical/physical): 512B/512B Partition Table: gpt -Number Start End Size File system Name Flags +Number Start End Size File system Name Flags 1 17.4kB 48.6kB 31.2kB primary bios_grub EOF -- 1.6.2.rc1.285.gc5f54 _______________________________________________ parted-devel mailing list [email protected] http://lists.alioth.debian.org/mailman/listinfo/parted-devel

