Final autopart fixes.
This commit is contained in:
		
							parent
							
								
									695bcec49e
								
							
						
					
					
						commit
						55f90307d2
					
				| @ -2291,22 +2291,24 @@ printregions(region_t *theregions, int indent, int p_nr_partitions, int p_free_r | |||||||
| 	return; | 	return; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | #define IS_YES   3 | ||||||
|  | #define IS_NO    4 | ||||||
|  | #define IS_OTHER 5 | ||||||
| int | int | ||||||
| is_sure(int flags, char *fmt, ...) | is_sure(char *fmt, ...) | ||||||
| { | { | ||||||
| 	char yesno[10]; | 	char yesno[10]; | ||||||
| 	va_list ap; | 	va_list ap; | ||||||
| 	va_start (ap, fmt); | 	va_start (ap, fmt); | ||||||
| 	vprintf(fmt, ap); | 	vprintf(fmt, ap); | ||||||
| 	va_end(ap); | 	va_end(ap); | ||||||
| 	if(flags & SURE_SERIOUS) printf("  Please enter 'yes' or 'no': "); | 	printf("  Please enter 'yes' or 'no': "); | ||||||
| 	else { |  | ||||||
| 		printf(" (y/n) [y] "); |  | ||||||
| 	} |  | ||||||
| 	fflush(stdout); | 	fflush(stdout); | ||||||
| 	if(!fgets(yesno, sizeof(yesno)-1, stdin)) exit(1); | 	if(!fgets(yesno, sizeof(yesno)-1, stdin)) exit(1); | ||||||
| 	if(!(flags & SURE_SERIOUS)) return (tolower(yesno[0]) != 'n'); | 
 | ||||||
| 	return !strncmp(yesno, "yes", 3); | 	if (strcmp(yesno, "yes\n") == 0) return(IS_YES); | ||||||
|  | 	if (strcmp(yesno, "no\n") == 0) return(IS_NO); | ||||||
|  | 	return IS_OTHER; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void warn(char *message) | void warn(char *message) | ||||||
| @ -2317,6 +2319,7 @@ void warn(char *message) | |||||||
| int | int | ||||||
| may_kill_region(void) | may_kill_region(void) | ||||||
| { | { | ||||||
|  |         int confirmation; | ||||||
| 	char line[100]; | 	char line[100]; | ||||||
| 	int r, i; | 	int r, i; | ||||||
| 
 | 
 | ||||||
| @ -2344,15 +2347,18 @@ may_kill_region(void) | |||||||
| 
 | 
 | ||||||
| 	i = regions[r].tableno; | 	i = regions[r].tableno; | ||||||
| 
 | 
 | ||||||
| 	if(is_sure(0, "\nAre you sure you want to delete this region,\n" | 	printf("\nPlease confirm that you want to delete region %d, loosing all data it", r);  | ||||||
| 	"losing all data it contains? You have selected a region used\n" | 	printf("\ncontains. You're disk is not actually updated right away, but still."); | ||||||
| 	"by %s (%s).\n\n" | 	printf("\n\n"); | ||||||
| 	"I won't actually update your disk right away, but still. Sure?", | 
 | ||||||
| 		typ2txt(table[i].sysind), prettysizeprint(table[i].size / 2))) { |  	do { | ||||||
|  | 		confirmation = is_sure("Are you sure you want to continue?"); | ||||||
|  | 		if (confirmation == IS_NO) return 0; | ||||||
|  | 	} while (confirmation != IS_YES); | ||||||
|  | 
 | ||||||
| 		table[i].sysind = NO_PART; | 		table[i].sysind = NO_PART; | ||||||
| 		dirty = 1; | 		dirty = 1; | ||||||
| 		regionize(); | 		regionize(); | ||||||
| 	} |  | ||||||
| 
 | 
 | ||||||
| 	/* User may go again. */ | 	/* User may go again. */ | ||||||
| 	return 0; | 	return 0; | ||||||
| @ -2563,6 +2569,7 @@ scribble_region(region_t *reg, struct part_entry **pe) | |||||||
| int | int | ||||||
| do_autopart(int resultfd) | do_autopart(int resultfd) | ||||||
| { | { | ||||||
|  | 	int confirmation; | ||||||
| 	region_t *r; | 	region_t *r; | ||||||
| 	struct part_entry *pe; | 	struct part_entry *pe; | ||||||
| 	char sure[50]; | 	char sure[50]; | ||||||
| @ -2615,8 +2622,10 @@ do_autopart(int resultfd) | |||||||
| 		printf("into region %d of disk %d (%sp%d).  Please confirm that you want\n", region, disk, devices[disk].dev->name, region); | 		printf("into region %d of disk %d (%sp%d).  Please confirm that you want\n", region, disk, devices[disk].dev->name, region); | ||||||
| 		printf("to use this selection to install MINIX 3.\n\n"); | 		printf("to use this selection to install MINIX 3.\n\n"); | ||||||
| 
 | 
 | ||||||
| 		if(!is_sure(SURE_SERIOUS, "Are you sure you want to continue?")) | 		do { | ||||||
| 			return 1; | 			confirmation = is_sure("Are you sure you want to continue?"); | ||||||
|  | 			if (confirmation == IS_NO) return 1; | ||||||
|  | 		} while (confirmation != IS_YES); | ||||||
| 
 | 
 | ||||||
| 		/* Retrieve partition number in sorted order that we
 | 		/* Retrieve partition number in sorted order that we
 | ||||||
| 		 * have scribbled in. | 		 * have scribbled in. | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Jorrit Herder
						Jorrit Herder