/** * Main */ int main(int argc, char* argv[]) { int mode = get_mode(argc, argv); if (mode < 0) { printf("Invalid arguments\n"); exit(-1); } DIR *dirPtr; struct dirent *entryPtr; dirPtr = opendir ("."); int blksize_count = 0; while ((entryPtr = readdir (dirPtr))) { struct stat st; stat(entryPtr->d_name, &st); switch(mode) { case SIZE_MODE: { int blksize = (int)(st.st_blocks / 2); if (S_ISLNK(st.st_mode)) blksize = 0; blksize_count += blksize; printf ("%-20s %-3d blocks\n", entryPtr->d_name, blksize); break; } case INODE_NUM_MODE: { printf ("%-20s inode#: %d \n", entryPtr->d_name, (int)st.st_ino); break; } case FILETYPE_MODE: { printf ("%s%c\n", entryPtr->d_name, get_type_char(st.st_mode)); break; } case STANDARD_MODE: { printf ("%s\n", entryPtr->d_name); break; } } } if (mode == SIZE_MODE) { printf("%d total blocks\n", blksize_count); } closedir (dirPtr); return 0; }
void print_matrix(int generation, int subgeneration) { int i, j; printf("Generation: %d Subgeneration: %d\n", generation, subgeneration); for(i = 0; i < max_size; i++) { printf("Line %d |", i); for(j = 0; j < max_size; j++) { printf("%c|", get_type_char(&worlds[1][i][j])); } printf("\n"); printf(" "); for(j = 0; j < max_size * 2 + 1; j++) { printf("-"); } printf("\n"); fflush(stdout); } }