Make size in stat.h be a uint64
Supporting print long using %l (a bit of cheat) Modify ls to print size using %l We should probably update size in inode too.
This commit is contained in:
		
							parent
							
								
									6bfb078b14
								
							
						
					
					
						commit
						fab5e7c1de
					
				
					 3 changed files with 5 additions and 3 deletions
				
			
		|  | @ -3,9 +3,9 @@ | |||
| #define T_DEVICE  3   // Device
 | ||||
| 
 | ||||
| struct stat { | ||||
|   short type;  // Type of file
 | ||||
|   int dev;     // File system's disk device
 | ||||
|   uint ino;    // Inode number
 | ||||
|   short type;  // Type of file
 | ||||
|   short nlink; // Number of links to file
 | ||||
|   uint size;   // Size of file in bytes
 | ||||
|   uint64 size; // Size of file in bytes
 | ||||
| }; | ||||
|  |  | |||
|  | @ -43,7 +43,7 @@ ls(char *path) | |||
| 
 | ||||
|   switch(st.type){ | ||||
|   case T_FILE: | ||||
|     printf(1, "%s %d %d %d\n", fmtname(path), st.type, st.ino, st.size); | ||||
|     printf(1, "%s %d %d %l\n", fmtname(path), st.type, st.ino, st.size); | ||||
|     break; | ||||
| 
 | ||||
|   case T_DIR: | ||||
|  |  | |||
|  | @ -68,6 +68,8 @@ printf(int fd, const char *fmt, ...) | |||
|     } else if(state == '%'){ | ||||
|       if(c == 'd'){ | ||||
|         printint(fd, va_arg(ap, int), 10, 1); | ||||
|       } else if(c == 'l') { | ||||
|         printint(fd, va_arg(ap, uint64), 10, 0); | ||||
|       } else if(c == 'x') { | ||||
|         printint(fd, va_arg(ap, int), 16, 0); | ||||
|       } else if(c == 'p') { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Frans Kaashoek
						Frans Kaashoek