From patchwork Fri Apr 12 13:24:03 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Guo, Yejun" X-Patchwork-Id: 12706 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 1708E448B1E for ; Fri, 12 Apr 2019 08:34:56 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E297E68AB65; Fri, 12 Apr 2019 08:34:55 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 048E268AA2C for ; Fri, 12 Apr 2019 08:34:48 +0300 (EEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 Apr 2019 22:34:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,340,1549958400"; d="scan'208";a="290894030" Received: from yguo18-skl-u1604.sh.intel.com ([10.239.13.25]) by orsmga004.jf.intel.com with ESMTP; 11 Apr 2019 22:34:44 -0700 From: "Guo, Yejun" To: ffmpeg-devel@ffmpeg.org Date: Fri, 12 Apr 2019 21:24:03 +0800 Message-Id: <1555075443-13468-1-git-send-email-yejun.guo@intel.com> X-Mailer: git-send-email 2.7.4 Subject: [FFmpeg-devel] [PATCH] configure: sort decoder/encoder/filter/... names in alphabet order, row by row X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: yejun.guo@intel.com MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" take decoder names an example, with the default page length, shell command 'pr' needs two pages for all the decoder names. The names are firstly printed in the first page, then in the second page. So, as a whole, the names are sorted neither in column order nor in row order. It's a little confused. One method is to calculate the proper page length, so all the names are printed in one page by 'pr -l', and so strictly in alphabet order, column by column. Another method is to use command printf instead of pr, because buybox doesn't have pr. This patch refines print_in_columns to print the names with printf in alphabet order, row by row. Signed-off-by: Guo, Yejun --- configure | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/configure b/configure index f6123f5..2666b4d 100755 --- a/configure +++ b/configure @@ -3828,8 +3828,13 @@ die_unknown(){ } print_in_columns() { - cols=$(expr $ncols / 24) - cat | tr ' ' '\n' | sort | pr -r "-$cols" -w $ncols -t + width=24 + cols=$(expr $ncols / $width) + eval format="%-${width}s" + content=$(cat | tr ' ' '\n' | sort) + count=$(echo $content | wc -w) + pfmt=$(for c in $(seq 1 $count); do printf '%s' $format; [ $(($c % $cols)) -eq 0 -o $c -eq $count ] && printf '\\n'; done) + printf "$pfmt" $(echo $content) } show_list() {