Pass lbuf/lbuflen to PRT_print_[mbr|gpt]_menu() to allow changes
authorkrw <krw@openbsd.org>
Sun, 26 Mar 2023 16:23:58 +0000 (16:23 +0000)
committerkrw <krw@openbsd.org>
Sun, 26 Mar 2023 16:23:58 +0000 (16:23 +0000)
to the original input. Just zap it for now.

No functional change.

sbin/fdisk/cmd.c
sbin/fdisk/part.c
sbin/fdisk/part.h

index 08dd2b1..4a26377 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: cmd.c,v 1.169 2023/03/25 15:58:44 krw Exp $   */
+/*     $OpenBSD: cmd.c,v 1.170 2023/03/26 16:23:58 krw Exp $   */
 
 /*
  * Copyright (c) 1997 Tobias Weingartner
@@ -574,8 +574,9 @@ ask_pid(const int dflt)
                if (strlen(lbuf) == 0)
                        return dflt;
                if (strcmp(lbuf, "?") == 0) {
-                       PRT_print_mbrmenu();
-                       continue;
+                       PRT_print_mbrmenu(lbuf, sizeof(lbuf));
+                       if (strlen(lbuf) == 0)
+                               continue;
                }
 
                num = hex_octet(lbuf);
@@ -620,8 +621,9 @@ ask_uuid(const struct uuid *olduuid)
                string_from_line(lbuf, sizeof(lbuf), TRIMMED);
 
                if (strcmp(lbuf, "?") == 0) {
-                       PRT_print_gptmenu();
-                       continue;
+                       PRT_print_gptmenu(lbuf, sizeof(lbuf));
+                       if (strlen(lbuf) == 0)
+                               continue;
                } else if (strlen(lbuf) == 0) {
                        uuid = *olduuid;
                        goto done;
index b4e687c..03702be 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: part.c,v 1.138 2023/03/26 13:12:33 krw Exp $  */
+/*     $OpenBSD: part.c,v 1.139 2023/03/26 16:23:58 krw Exp $  */
 
 /*
  * Copyright (c) 1997 Tobias Weingartner
@@ -311,7 +311,7 @@ PRT_protected_guid(const struct uuid *uuid)
 }
 
 void
-PRT_print_mbrmenu(void)
+PRT_print_mbrmenu(char *lbuf, size_t lbuflen)
 {
        unsigned int            cidx, i, idrows;
 
@@ -328,10 +328,12 @@ PRT_print_mbrmenu(void)
                            mbr_types[cidx].mt_name);
                printf("\n");
        }
+
+       memset(lbuf, 0, lbuflen);       /* Just continue. */
 }
 
 void
-PRT_print_gptmenu(void)
+PRT_print_gptmenu(char *lbuf, size_t lbuflen)
 {
        unsigned int            cidx, i, idrows;
 
@@ -348,6 +350,8 @@ PRT_print_gptmenu(void)
                            gpt_types[cidx].gt_name);
                printf("\n");
        }
+
+       memset(lbuf, 0, lbuflen);       /* Just continue. */
 }
 
 void
index ae624a9..7f2d114 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: part.h,v 1.40 2023/03/25 15:58:44 krw Exp $   */
+/*     $OpenBSD: part.h,v 1.41 2023/03/26 16:23:58 krw Exp $   */
 
 /*
  * Copyright (c) 1997 Tobias Weingartner
@@ -29,8 +29,8 @@ struct prt {
        unsigned char   prt_id;
 };
 
-void            PRT_print_mbrmenu(void);
-void            PRT_print_gptmenu(void);
+void            PRT_print_mbrmenu(char *, size_t);
+void            PRT_print_gptmenu(char *, size_t);
 void            PRT_parse(const struct dos_partition *, const uint64_t,
     const uint64_t, struct prt *);
 void            PRT_make(const struct prt *,const uint64_t, const uint64_t,