build system: prevent duplicate applet names
The embedded script feature makes it easier to create applets with duplicate names. Currently in such cases the build succeeds but the resulting executable doesn't work as the developer intended. Catch duplicate names when the applet tables are being generated and make the build fail. Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
		
				
					committed by
					
						 Denys Vlasenko
						Denys Vlasenko
					
				
			
			
				
	
			
			
			
						parent
						
							7b42f8fc76
						
					
				
				
					commit
					2d217799e8
				
			| @@ -84,7 +84,15 @@ int main(int argc, char **argv) | ||||
|  | ||||
| 	qsort(applets, NUM_APPLETS, sizeof(applets[0]), cmp_name); | ||||
|  | ||||
| 	if (!argv[1]) | ||||
| 	for (i = j = 0; i < NUM_APPLETS-1; ++i) { | ||||
| 		if (cmp_name(applets+i, applets+i+1) == 0) { | ||||
| 			fprintf(stderr, "%s: duplicate applet name '%s'\n", argv[0], | ||||
| 					applets[i].name); | ||||
| 			j = 1; | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if (j != 0 || !argv[1]) | ||||
| 		return 1; | ||||
| 	snprintf(tmp1, PATH_MAX, "%s.%u.new", argv[1], (int) getpid()); | ||||
| 	i = open(tmp1, O_WRONLY | O_TRUNC | O_CREAT, 0666); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user