This commit is contained in:
Your Name 2023-11-02 12:32:35 +03:00
parent ae4f4e73ed
commit 973057bef1
1 changed files with 15 additions and 9 deletions

View File

@ -20,10 +20,11 @@ mode_t mu_parse_mode(const char *s) {
if (!*p && mode < 07777U)
return mode;
mode = 0;
else if (mode > 07777U)
return 0;
/* 0 - + */
int type = 0;
mode = 0;
int append = 1;
mode_t mask = 0;
for (size_t i = 0; i < strlen(s); i++) {
@ -41,11 +42,11 @@ mode_t mu_parse_mode(const char *s) {
break;
case '+':
type = 0;
append = 1;
break;
case '-':
type = 1;
append = 0;
break;
case 'g':
@ -65,14 +66,19 @@ mode_t mu_parse_mode(const char *s) {
break;
default:
return -1;
return 0;
}
}
if (type)
return ~mask & mode;
if (mask == 0)
mask = U(FULL_PERM);
return mask & mode;
if (append)
return mask & mode;
mode_t test = mask & mode;
printf("test: %d\n", test);
return test;
}
#endif