]>
Commit | Line | Data |
---|---|---|
1 | diff --git a/fdisk/fdisk.c b/fdisk/fdisk.c | |
2 | index 292b7a8..56ea38d 100644 | |
3 | --- a/fdisk/fdisk.c | |
4 | +++ b/fdisk/fdisk.c | |
5 | @@ -1414,17 +1414,21 @@ change_sysid(void) { | |
6 | if (sys == origsys) | |
7 | break; | |
8 | if (sun_label) { | |
9 | - sun_change_sysid(i, sys); | |
10 | + ptes[i].changed = sun_change_sysid(i, sys); | |
11 | } else | |
12 | if (sgi_label) { | |
13 | - sgi_change_sysid(i, sys); | |
14 | - } else | |
15 | + ptes[i].changed = sgi_change_sysid(i, sys); | |
16 | + } else { | |
17 | p->sys_ind = sys; | |
18 | - printf (_("Changed system type of partition %d " | |
19 | - "to %x (%s)\n"), i + 1, sys, | |
20 | - (temp = partition_type(sys)) ? temp : | |
21 | - _("Unknown")); | |
22 | - ptes[i].changed = 1; | |
23 | + ptes[i].changed = 1; | |
24 | + } | |
25 | + temp = partition_type(sys) ? : _("Unknown"); | |
26 | + if (ptes[i].changed) | |
27 | + printf (_("Changed system type of partition %d " | |
28 | + "to %x (%s)\n"), i + 1, sys, temp); | |
29 | + else | |
30 | + printf (_("System type of partition %d is unchanged" | |
31 | + "to %x (%s)\n"), i + 1, sys, temp); | |
32 | if (is_dos_partition(origsys) || | |
33 | is_dos_partition(sys)) | |
34 | dos_changed = 1; | |
35 | diff --git a/fdisk/fdisksgilabel.c b/fdisk/fdisksgilabel.c | |
36 | index e1b3829..7e189fb 100644 | |
37 | --- a/fdisk/fdisksgilabel.c | |
38 | +++ b/fdisk/fdisksgilabel.c | |
39 | @@ -537,12 +537,12 @@ verify_sgi(int verbose) | |
40 | return (gap > 0) ? 1 : (gap == 0) ? 0 : -1; | |
41 | } | |
42 | ||
43 | -void | |
44 | +int | |
45 | sgi_change_sysid(int i, int sys) | |
46 | { | |
47 | if (sgi_get_num_sectors(i) == 0) /* caught already before, ... */ { | |
48 | printf(_("Sorry You may change the Tag of non-empty partitions.\n")); | |
49 | - return; | |
50 | + return 0; | |
51 | } | |
52 | if (((sys != ENTIRE_DISK) && (sys != SGI_VOLHDR)) | |
53 | && (sgi_get_start_sector(i)<1)) { | |
54 | @@ -553,9 +553,10 @@ sgi_change_sysid(int i, int sys) | |
55 | "Only the \"SGI volume\" entire disk section may violate this.\n" | |
56 | "Type YES if you are sure about tagging this partition differently.\n")); | |
57 | if (strcmp (line_ptr, _("YES\n"))) | |
58 | - return; | |
59 | + return 0; | |
60 | } | |
61 | sgilabel->partitions[i].id = SSWAP32(sys); | |
62 | + return 1; | |
63 | } | |
64 | ||
65 | /* returns partition index of first entry marked as entire disk */ | |
66 | diff --git a/fdisk/fdisksgilabel.h b/fdisk/fdisksgilabel.h | |
67 | index fe757bf..02b3e9d 100644 | |
68 | --- a/fdisk/fdisksgilabel.h | |
69 | +++ b/fdisk/fdisksgilabel.h | |
70 | @@ -112,7 +112,7 @@ extern struct systypes sgi_sys_types[]; | |
71 | extern void sgi_nolabel( void ); | |
72 | extern int check_sgi_label( void ); | |
73 | extern void sgi_list_table( int xtra ); | |
74 | -extern void sgi_change_sysid( int i, int sys ); | |
75 | +extern int sgi_change_sysid( int i, int sys ); | |
76 | extern unsigned int sgi_get_start_sector( int i ); | |
77 | extern unsigned int sgi_get_num_sectors( int i ); | |
78 | extern int sgi_get_sysid( int i ); | |
79 | diff --git a/fdisk/fdisksunlabel.c b/fdisk/fdisksunlabel.c | |
80 | index f67aa26..60ade06 100644 | |
81 | --- a/fdisk/fdisksunlabel.c | |
82 | +++ b/fdisk/fdisksunlabel.c | |
83 | @@ -530,7 +530,7 @@ void sun_delete_partition(int i) | |
84 | part->num_sectors = 0; | |
85 | } | |
86 | ||
87 | -void sun_change_sysid(int i, __u16 sys) | |
88 | +int sun_change_sysid(int i, __u16 sys) | |
89 | { | |
90 | struct sun_partition *part = &sunlabel->partitions[i]; | |
91 | struct sun_tag_flag *tag = &sunlabel->part_tags[i]; | |
92 | @@ -543,7 +543,7 @@ void sun_change_sysid(int i, __u16 sys) | |
93 | "Type YES if you're very sure you would like that partition\n" | |
94 | "tagged with 82 (Linux swap): ")); | |
95 | if (strcmp (line_ptr, _("YES\n"))) | |
96 | - return; | |
97 | + return 0; | |
98 | } | |
99 | switch (sys) { | |
100 | case SUN_TAG_SWAP: | |
101 | @@ -558,6 +558,7 @@ void sun_change_sysid(int i, __u16 sys) | |
102 | break; | |
103 | } | |
104 | tag->tag = SSWAP16(sys); | |
105 | + return 1; | |
106 | } | |
107 | ||
108 | void sun_list_table(int xtra) | |
109 | diff --git a/fdisk/fdisksunlabel.h b/fdisk/fdisksunlabel.h | |
110 | index c8e0698..fba67f7 100644 | |
111 | --- a/fdisk/fdisksunlabel.h | |
112 | +++ b/fdisk/fdisksunlabel.h | |
113 | @@ -82,7 +82,7 @@ extern int check_sun_label(void); | |
114 | extern void sun_nolabel(void); | |
115 | extern void create_sunlabel(void); | |
116 | extern void sun_delete_partition(int i); | |
117 | -extern void sun_change_sysid(int i, __u16 sys); | |
118 | +extern int sun_change_sysid(int i, __u16 sys); | |
119 | extern void sun_list_table(int xtra); | |
120 | extern void verify_sun(void); | |
121 | extern void add_sun_partition(int n, int sys); |