commit 03b4f659c9a5e0fd5d0b4cdd7a8ab108277148bb
parent e33d1317bdeae3c309687a9fbf531bedf9336a3e
Auteur: Loïc Daignault-Pichette <ldp@asteride.xyz>
Date: Fri, 5 Sep 2025 18:39:28 -0400
[bog] Permettre la compilation sous Linux
Le programme n’avait été testé que sous OpenBSD. Sous Linux, il n’est
pas garanti que NAME_MAX soit définie dans limits.h et dirent->d_namelen
n’existe pas.
Diffstat:
1 fichier modifié, 5 insertions(+), 1 suppression(-)
diff --git a/execrom.c b/execrom.c
@@ -14,6 +14,10 @@
#include <string.h>
#include <unistd.h>
+#ifndef NAME_MAX
+#define NAME_MAX 255
+#endif
+
extern char **environ;
int
@@ -64,7 +68,7 @@ main(int argc, char **argv)
continue;
if (dp->d_name[taille] != '.')
continue;
- if (dp->d_namlen > NAME_MAX) {
+ if (strlen(dp->d_name) > NAME_MAX) {
fprintf(stderr, "execrom: %s: nom trop long\n",
dp->d_name);
return 1;