diff bin/check-ports @ 31:abe1659ff3c1

Refactor: a "print_title()" function which prints the title line (package and repo) if its not yet printed
author Franz Glasner <hg@dom66.de>
date Sat, 18 Nov 2017 11:48:31 +0100
parents eb764268337c
children 37f003c9f4e2
line wrap: on
line diff
--- a/bin/check-ports	Fri Nov 17 09:43:36 2017 +0100
+++ b/bin/check-ports	Sat Nov 18 11:48:31 2017 +0100
@@ -101,6 +101,18 @@
     return 2
 }
 
+print_title() {
+    local _package _repo
+
+    _package=$1
+    _repo=$2
+    if [ -z "${title_printed}" ] ; then
+        echo "${_package}    (${_repo})"
+	title_printed=yes
+    fi
+}
+
+
 alldata_flag=""
 alldata_LocalBSDPorts_flag=""
 alldata_LocalRepo_flag=""
@@ -140,11 +152,10 @@
 while read lfqp llabel ldescr ; do
     _installed_name=${lfqp%-*}
     _installed_version=${lfqp##*-}
-    _title_printed=""
+    title_printed=""
     get_repo_for_package ${_installed_name}
     if [ -n "${verbose_flag}" ] ; then
-	echo "${lfqp}    (${repository})"
-	_title_printed=yes
+	print_title "${lfqp}" "${repository}"
     fi
     if ! assert_local_version ${_installed_name} ${_installed_version} ; then
 	echo "Assertion failed: $lfqp ${_installed_name} ${_installed_version} ${llabel}" >&2
@@ -154,9 +165,7 @@
     get_remote_repo_data ${LOCALBSDPORTS_REPO} ${_installed_name}
     get_remote_repo_data ${FREEBSD_REPO} ${_installed_name}
     if [ \( -n "${alldata_flag}" \) -o \( ${llabel} != '?' -a ${llabel} != '=' \) -o \( ${remote_FreeBSD_label} != '?' -a ${remote_FreeBSD_label} != '=' \) -o \( ${remote_LocalBSDPorts_label} != '?' -a ${remote_LocalBSDPorts_label} != '=' \) -o \( ${remote_LocalRepo_label} != '?' -a ${remote_LocalRepo_label} != '=' \) ] ; then
-	if [ -z "${_title_printed}" ] ; then
-	    echo "${lfqp}    (${repository})"
-	fi
+       	print_title "${lfqp}" "${repository}"
 	echo "   INDEX: ${llabel} ${ldescr}"
 	echo "   FreeBSD: ${remote_FreeBSD_label} ${remote_FreeBSD_descr}"
 	if [ \( -n "${alldata_LocalBSDPorts_flag}" \) -o \( ${remote_LocalBSDPorts_label} != '?' \) ] ; then