Make chmod and ls recognize sticky bit (S_ISVTX).
This commit is contained in:
		
							
								
								
									
										4
									
								
								chmod.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								chmod.c
									
									
									
									
									
								
							| @@ -31,9 +31,9 @@ main(int argc, char *argv[]) | |||||||
| 			case 'R': | 			case 'R': | ||||||
| 				rflag = true; | 				rflag = true; | ||||||
| 				break; | 				break; | ||||||
| 			case 'r': case 'w': case 'x': case 's': | 			case 'r': case 'w': case 'x': case 's': case 't': | ||||||
| 				/* | 				/* | ||||||
| 				 * -[rwxs] are valid modes so do not interpret | 				 * -[rwxst] are valid modes so do not interpret | ||||||
| 				 * them as options - in any case we are done if | 				 * them as options - in any case we are done if | ||||||
| 				 * we hit this case | 				 * we hit this case | ||||||
| 				 */ | 				 */ | ||||||
|   | |||||||
							
								
								
									
										1
									
								
								ls.c
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								ls.c
									
									
									
									
									
								
							| @@ -228,6 +228,7 @@ output(Entry *ent) | |||||||
|  |  | ||||||
| 	if(ent->mode & S_ISUID) mode[3] = (mode[3] == 'x') ? 's' : 'S'; | 	if(ent->mode & S_ISUID) mode[3] = (mode[3] == 'x') ? 's' : 'S'; | ||||||
| 	if(ent->mode & S_ISGID) mode[6] = (mode[6] == 'x') ? 's' : 'S'; | 	if(ent->mode & S_ISGID) mode[6] = (mode[6] == 'x') ? 's' : 'S'; | ||||||
|  | 	if(ent->mode & S_ISVTX) mode[9] = (mode[9] == 'x') ? 't' : 'T'; | ||||||
|  |  | ||||||
| 	errno = 0; | 	errno = 0; | ||||||
| 	pw = getpwuid(ent->uid); | 	pw = getpwuid(ent->uid); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user