Thread (2 messages) 2 messages, 2 authors, 2013-01-30

Re: [PATCH] Make --update=homehost work again.

From: Paul Menzel <hidden>
Date: 2013-01-30 10:46:06

Dear Justin,


thank you for your patch.


Am Dienstag, den 29.01.2013, 18:26 -0800 schrieb Justin Maggard:
Commit 1e2b276535cea41c348292a019bdda8a58cb1679
Please not only add the hash, but also the summary, so people not having
the Linus’ master checked out know what the original commit was about.
Also CC the original commit author so s/he can comment.
quoted hunk ↗ jump to hunk
broke homehost updating
functionality because it depended on each string comparison being done
even after we already found a match.  Fix this by using a goto instead.

---
 super0.c |    3 ++-
 super1.c |    3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/super0.c b/super0.c
index ecb6b38..f15f1e0 100644
--- a/super0.c
+++ b/super0.c
@@ -554,10 +554,11 @@ static int update_super0(struct supertype *st, struct mdinfo *info,
 	} else if (strcmp(update, "homehost") == 0 &&
 		   homehost) {
 		uuid_set = 0;
-		update = "uuid";
 		info->uuid[0] = sb->set_uuid0;
 		info->uuid[1] = sb->set_uuid1;
+		goto update_uuid;
 	} else if (strcmp(update, "uuid") == 0) {
Would changing this from »else if …« to only »if« also solve this and
make it subjectively more clear?
quoted hunk ↗ jump to hunk
+ update_uuid:
 		if (!uuid_set && homehost) {
 			char buf[20];
 			char *hash = sha1_buffer(homehost,
diff --git a/super1.c b/super1.c
index 5bb1f01..fc31948 100644
--- a/super1.c
+++ b/super1.c
@@ -987,14 +987,15 @@ static int update_super1(struct supertype *st, struct mdinfo *info,
 	} else if (strcmp(update, "homehost") == 0 &&
 		   homehost) {
 		char *c;
-		update = "name";
 		c = strchr(sb->set_name, ':');
 		if (c)
 			strncpy(info->name, c+1, 31 - (c-sb->set_name));
 		else
 			strncpy(info->name, sb->set_name, 32);
 		info->name[32] = 0;
+		goto update_name;
 	} else if (strcmp(update, "name") == 0) {
+ update_name:
 		if (info->name[0] == 0)
 			sprintf(info->name, "%d", info->array.md_minor);
 		memset(sb->set_name, 0, sizeof(sb->set_name));

Thanks,

Paul

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help