mdev: suppress aliasing warning

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2018-12-08 15:41:17 +01:00
parent b437df1157
commit 51283b8109

View File

@ -808,6 +808,16 @@ static void make_device(char *device_name, char *path, int operation)
} /* for (;;) */
}
static ssize_t readlink2(char *buf, size_t bufsize)
{
// Grr... gcc 8.1.1:
// "passing argument 2 to restrict-qualified parameter aliases with argument 1"
// dance around that...
char *obuf FIX_ALIASING;
obuf = buf;
return readlink(buf, obuf, bufsize);
}
/* File callback for /sys/ traversal.
* We act only on "/sys/.../dev" (pseudo)file
*/
@ -831,7 +841,7 @@ static int FAST_FUNC fileAction(const char *fileName,
/* Read ".../subsystem" symlink in the same directory where ".../dev" is */
strcpy(subsys, path);
strcpy(subsys + len, "/subsystem");
res = readlink(subsys, subsys, sizeof(subsys)-1);
res = readlink2(subsys, sizeof(subsys)-1);
if (res > 0) {
subsys[res] = '\0';
free(G.subsystem);