Blame SOURCES/0073-Fix-info-for-s390x-s390-1285601.patch

16aa69
From dab391a5c52622b4c08f87dc394f133419da218a Mon Sep 17 00:00:00 2001
16aa69
From: Robert Marshall <rmarshall@redhat.com>
16aa69
Date: Tue, 14 Mar 2017 15:20:53 -0400
16aa69
Subject: [PATCH 73/75] Fix --info for s390x/s390 (#1285601)
16aa69
16aa69
The --info flag for grubby on s390/s390x always returned (null). Fixed
16aa69
codepath to use extractTitle where necessary and get the actual title.
16aa69
16aa69
Related: rhbz#1285601
16aa69
---
16aa69
 grubby.c | 15 +++++++++++----
16aa69
 1 file changed, 11 insertions(+), 4 deletions(-)
16aa69
16aa69
diff --git a/grubby.c b/grubby.c
16aa69
index 4d3834b..f960ebd 100644
16aa69
--- a/grubby.c
16aa69
+++ b/grubby.c
16aa69
@@ -2782,7 +2782,7 @@ void setFallbackImage(struct grubConfig *config, int hasNew)
16aa69
 	}
16aa69
 }
16aa69
 
16aa69
-void displayEntry(struct singleEntry *entry, const char *prefix, int index)
16aa69
+void displayEntry(struct grubConfig *config, struct singleEntry *entry, const char *prefix, int index)
16aa69
 {
16aa69
 	struct singleLine *line;
16aa69
 	char *root = NULL;
16aa69
@@ -2877,7 +2877,14 @@ void displayEntry(struct singleEntry *entry, const char *prefix, int index)
16aa69
 
16aa69
 	line = getLineByType(LT_TITLE, entry->lines);
16aa69
 	if (line) {
16aa69
-		printf("title=%s\n", line->elements[1].item);
16aa69
+                char *entryTitle;
16aa69
+                /* if we can extractTitle, then it's a zipl config and
16aa69
+                 * if not then we go ahead with what's existed prior */
16aa69
+                entryTitle = extractTitle(config, line);
16aa69
+                if (!entryTitle) {
16aa69
+                    entryTitle=line->elements[1].item;
16aa69
+                }
16aa69
+		printf("title=%s\n", entryTitle);
16aa69
 	} else {
16aa69
 		char *title;
16aa69
 		line = getLineByType(LT_MENUENTRY, entry->lines);
16aa69
@@ -3277,11 +3284,11 @@ int displayInfo(struct grubConfig *config, char *kernel, const char *prefix)
16aa69
 			printf("lba\n");
16aa69
 	}
16aa69
 
16aa69
-	displayEntry(entry, prefix, i);
16aa69
+	displayEntry(config, entry, prefix, i);
16aa69
 
16aa69
 	i++;
16aa69
 	while ((entry = findEntryByPath(config, kernel, prefix, &i))) {
16aa69
-		displayEntry(entry, prefix, i);
16aa69
+		displayEntry(config, entry, prefix, i);
16aa69
 		i++;
16aa69
 	}
16aa69
 
16aa69
-- 
16aa69
2.9.3
16aa69