Everything works now! ...

...except grep.
master
Chris N 2016-04-16 14:10:30 -10:00
parent f0a3878340
commit 1debfe4a73
1 changed files with 11 additions and 8 deletions

View File

@ -78,7 +78,7 @@ char* getFileName(int n)
// While anything to read remains // While anything to read remains
while ((dir = readdir(d)) != NULL) while ((dir = readdir(d)) != NULL)
{ {
// Check if this is the nth file // Check if this is the nth file
if (i == n) if (i == n)
{ {
char* fname = malloc(sizeof(char)*strlen(dir->d_name)); char* fname = malloc(sizeof(char)*strlen(dir->d_name));
@ -86,11 +86,16 @@ char* getFileName(int n)
strcpy(fname, dir->d_name); strcpy(fname, dir->d_name);
return fname; return fname;
} }
i += 1;
} }
// No need to leave open. // No need to leave open.
closedir(d); closedir(d);
} }
else
{
puts("Error opening directory");
}
return NULL; return NULL;
} }
@ -151,8 +156,8 @@ int main(void)
int rndW = rand() % nw; int rndW = rand() % nw;
// Execute bash // Execute bash
const char *cmd = cmds[rndCmd]; const char *cmd = cmds[rndCmd];
const char *argFile = randwords[rndW]; const char *argWord = randwords[rndW];
execlp(cmds[rndCmd], cmd, argFile, NULL); execlp("bash", "bash", "-c", strcat(strcat("grep ", argWord), "*.*"), NULL);
} }
else if (rndCmd == 2) else if (rndCmd == 2)
{ {
@ -163,7 +168,7 @@ int main(void)
char* fname; char* fname;
// Check if not a SH file, restart search if not // Check if not a SH file, restart search if not
while ((fname = getFileName(rndSH))) while (fname = getFileName(rndSH))
{ {
if (!isSHFile(fname)) if (!isSHFile(fname))
{ {
@ -191,8 +196,7 @@ int main(void)
// Get file name // Get file name
char* fname = getFileName(rndF); char* fname = getFileName(rndF);
printf("Filename: %s\n", fname); // Execute vi
// Execute vi
const char *cmd = cmds[rndCmd]; const char *cmd = cmds[rndCmd];
const char *argFile = fname; const char *argFile = fname;
execlp(cmds[rndCmd], cmd, argFile, NULL); execlp(cmds[rndCmd], cmd, argFile, NULL);
@ -205,8 +209,7 @@ int main(void)
// Get file name // Get file name
char* fname = getFileName(rndF); char* fname = getFileName(rndF);
printf("Filename: %s\n", fname); // Execute vi
// Execute vi
const char *cmd = cmds[rndCmd]; const char *cmd = cmds[rndCmd];
const char *argFile = fname; const char *argFile = fname;
execlp(cmds[rndCmd], cmd, argFile, NULL); execlp(cmds[rndCmd], cmd, argFile, NULL);