From 44f7c3a669bdd761ea5210fc82b7fb19e4ae02f1 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 2 Nov 2023 02:51:11 +0300 Subject: [PATCH] fix --- LICENSE | 16 ++++++++-------- coreutils/mknod.c | 2 +- libmu/parse_mode.h | 12 ++++++++---- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/LICENSE b/LICENSE index 456c488..082c994 100644 --- a/LICENSE +++ b/LICENSE @@ -1,13 +1,13 @@ - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - Version 2, December 2004 +DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 - Copyright (C) 2004 Sam Hocevar + Copyright (C) 2004 Sam Hocevar - Everyone is permitted to copy and distribute verbatim or modified - copies of this license document, and changing it is allowed as long - as the name is changed. + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/coreutils/mknod.c b/coreutils/mknod.c index 73b56f4..7e9f26d 100644 --- a/coreutils/mknod.c +++ b/coreutils/mknod.c @@ -71,7 +71,7 @@ int main(const int argc, const char **argv) { else { printf("mknod [-m=mode] [NAME] [TYPE] [MAJOR MINOR]\n"); - printf("Types:\n b - block deviece\n c or u - character device\n p - fifo (MAJOR MINOR must be omitted)\n s - socket\n"); + printf("Types:\n b - block device\n c or u - character device\n p - fifo (MAJOR MINOR must be omitted)\n s - socket\n"); return 0; } diff --git a/libmu/parse_mode.h b/libmu/parse_mode.h index 0e89ed6..77b3a2f 100644 --- a/libmu/parse_mode.h +++ b/libmu/parse_mode.h @@ -8,15 +8,19 @@ #define O(x) (x) #define A(x) (U(x) | G(x) | O(x)) -#define FULL_PERM ((S_IRUSR | S_IRGRP | S_IROTH) | (S_IWUSR | S_IWGRP | S_IWOTH) | (S_IXUSR | S_IXGRP | S_IXOTH)) +#define WR_PERM (2) +#define EX_PERM (1) +#define RD_PERM (4) +#define FULL_PERM (7) + mode_t mu_parse_mode(const char *s) { char *p = NULL; + mode_t mode = (mode_t)strtol(s, &p, 8); - if (!*p) + if (!*p && mode < 07777U) return mode; - //TODO - return A(7); + return -1; } #endif