test
This commit is contained in:
parent
ae4f4e73ed
commit
973057bef1
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user