Use readdir instead of readdir_r
To eliminate compiler warnings, we're single-threaded anyway.
This commit is contained in:
		
							parent
							
								
									aceeb3f4c9
								
							
						
					
					
						commit
						38a1214af1
					
				| @ -424,20 +424,9 @@ initialize (void *ctx, struct plugin_api *api) | ||||
| 	lua_setfield (L, -2, "__index"); | ||||
| 	luaL_setfuncs (L, xlua_unit_table, 0); | ||||
| 
 | ||||
| 	struct dirent buf, *iter; | ||||
| 	while (true) | ||||
| 	struct dirent *iter; | ||||
| 	while ((errno = 0, iter = readdir (dir))) | ||||
| 	{ | ||||
| 		if (readdir_r (dir, &buf, &iter)) | ||||
| 		{ | ||||
| 			print_fatal ("%s: %s: %s", "Lua", "readdir_r", strerror (errno)); | ||||
| 			break; | ||||
| 		} | ||||
| 		if (!iter) | ||||
| 		{ | ||||
| 			success = true; | ||||
| 			break; | ||||
| 		} | ||||
| 
 | ||||
| 		char *dot = strrchr (iter->d_name, '.'); | ||||
| 		if (!dot || strcmp (dot, ".lua")) | ||||
| 			continue; | ||||
| @ -446,6 +435,10 @@ initialize (void *ctx, struct plugin_api *api) | ||||
| 		(void) load_one_plugin (L, iter->d_name, path); | ||||
| 		free (path); | ||||
| 	} | ||||
| 	if (errno) | ||||
| 		print_fatal ("%s: %s: %s", "Lua", "readdir", strerror (errno)); | ||||
| 	else | ||||
| 		success = true; | ||||
| 
 | ||||
| end: | ||||
| 	closedir (dir); | ||||
|  | ||||
							
								
								
									
										20
									
								
								ponymap.c
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								ponymap.c
									
									
									
									
									
								
							| @ -894,20 +894,9 @@ load_plugins (struct app_context *ctx) | ||||
| 	} | ||||
| 
 | ||||
| 	bool success = false; | ||||
| 	struct dirent buf, *iter; | ||||
| 	while (true) | ||||
| 	struct dirent *iter; | ||||
| 	while ((errno = 0, iter = readdir (dir))) | ||||
| 	{ | ||||
| 		if (readdir_r (dir, &buf, &iter)) | ||||
| 		{ | ||||
| 			print_fatal ("%s: %s", "readdir_r", strerror (errno)); | ||||
| 			break; | ||||
| 		} | ||||
| 		if (!iter) | ||||
| 		{ | ||||
| 			success = true; | ||||
| 			break; | ||||
| 		} | ||||
| 
 | ||||
| 		char *dot = strrchr (iter->d_name, '.'); | ||||
| 		if (!dot || strcmp (dot, ".so")) | ||||
| 			continue; | ||||
| @ -916,6 +905,11 @@ load_plugins (struct app_context *ctx) | ||||
| 		(void) load_one_plugin (ctx, iter->d_name, path); | ||||
| 		free (path); | ||||
| 	} | ||||
| 	if (errno) | ||||
| 		print_fatal ("%s: %s", "readdir", strerror (errno)); | ||||
| 	else | ||||
| 		success = true; | ||||
| 
 | ||||
| 	closedir (dir); | ||||
| 	return success; | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user