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…
Reference in New Issue
Block a user