Module Name: src Committed By: martin Date: Thu Aug 1 16:48:06 UTC 2019
Modified Files: src/usr.sbin/sysinst: bsddisklabel.c Log Message: PR 54423: fix handling of user defined partitions To generate a diff of this commit: cvs rdiff -u -r1.23 -r1.24 src/usr.sbin/sysinst/bsddisklabel.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.sbin/sysinst/bsddisklabel.c diff -u src/usr.sbin/sysinst/bsddisklabel.c:1.23 src/usr.sbin/sysinst/bsddisklabel.c:1.24 --- src/usr.sbin/sysinst/bsddisklabel.c:1.23 Sun Jul 28 16:30:36 2019 +++ src/usr.sbin/sysinst/bsddisklabel.c Thu Aug 1 16:48:06 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: bsddisklabel.c,v 1.23 2019/07/28 16:30:36 martin Exp $ */ +/* $NetBSD: bsddisklabel.c,v 1.24 2019/08/01 16:48:06 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -365,24 +365,25 @@ add_other_ptn_size(menudesc *menu, void /* we need absolute mount paths */ memmove(new_mp+1, new_mp, sizeof(new_mp)-1); new_mp[0] = '/'; - /* duplicates? */ - bool duplicate = false; - for (size_t i = 0; i < pset->num; i++) { - if (strcmp(pset->infos[i].mount, - new_mp) == 0) { - args = new_mp; - err = str_arg_subst( - msg_string(MSG_mp_already_exists), - 1, &args); - err_msg_win(err); - free(err); - duplicate = true; - break; - } - } - if (!duplicate) + } + + /* duplicates? */ + bool duplicate = false; + for (size_t i = 0; i < pset->num; i++) { + if (strcmp(pset->infos[i].mount, + new_mp) == 0) { + args = new_mp; + err = str_arg_subst( + msg_string(MSG_mp_already_exists), + 1, &args); + err_msg_win(err); + free(err); + duplicate = true; break; + } } + if (!duplicate) + break; } m = realloc(pset->menu_opts, (pset->num+4)*sizeof(*pset->menu_opts)); @@ -400,6 +401,8 @@ add_other_ptn_size(menudesc *menu, void p += pset->num; memset(m, 0, sizeof(*m)); memset(p, 0, sizeof(*p)); + p->cur_part_id = NO_PART; + p->type = PT_root; strncpy(p->mount, new_mp, sizeof(p->mount)); menu->cursel = pset->num;