More libc portability updates, add in the website (which has not been
archived previously).  Wrote 'which' during the meeting today.
 -Erik
diff --git a/shell/lash.c b/shell/lash.c
index 9d4c27a..8ea5e30 100644
--- a/shell/lash.c
+++ b/shell/lash.c
@@ -113,13 +113,18 @@
 static struct builtInCommand bltins[] = {
 	{"bg", "Resume a job in the background", "bg [%%job]", shell_fg_bg},
 	{"cd", "Change working directory", "cd [dir]", shell_cd},
-	{"env", "Print all environment variables", "env", shell_env},
 	{"exit", "Exit from shell()", "exit", shell_exit},
 	{"fg", "Bring job into the foreground", "fg [%%job]", shell_fg_bg},
 	{"jobs", "Lists the active jobs", "jobs", shell_jobs},
-	{"pwd", "Print current directory", "pwd", shell_pwd},
 	{"export", "Set environment variable", "export [VAR=value]", shell_export},
 	{"unset", "Unset environment variable", "unset VAR", shell_unset},
+	{NULL, NULL, NULL, NULL}
+};
+
+/* Table of built-in functions */
+static struct builtInCommand bltins_forking[] = {
+	{"env", "Print all environment variables", "env", shell_env},
+	{"pwd", "Print current directory", "pwd", shell_pwd},
 	{".", "Source-in and run commands in a file", ". filename", shell_source},
 	{"help", "List shell built-in commands", "help", shell_help},
 	{NULL, NULL, NULL, NULL}
@@ -247,6 +252,9 @@
 	for (x = bltins; x->cmd; x++) {
 		fprintf(stdout, "%s\t%s\n", x->cmd, x->descr);
 	}
+	for (x = bltins_forking; x->cmd; x++) {
+		fprintf(stdout, "%s\t%s\n", x->cmd, x->descr);
+	}
 	fprintf(stdout, "\n\n");
 	return TRUE;
 }
@@ -743,6 +751,13 @@
 			nextout = 1;
 		}
 
+		/* Match any built-ins here */
+		for (x = bltins; x->cmd; x++) {
+			if (!strcmp(newJob.progs[i].argv[0], x->cmd)) {
+				return (x->function(&newJob, jobList));
+			}
+		}
+
 		if (!(newJob.progs[i].pid = fork())) {
 			signal(SIGTTOU, SIG_DFL);
 
@@ -760,7 +775,7 @@
 			setupRedirections(newJob.progs + i);
 
 			/* Match any built-ins here */
-			for (x = bltins; x->cmd; x++) {
+			for (x = bltins_forking; x->cmd; x++) {
 				if (!strcmp(newJob.progs[i].argv[0], x->cmd)) {
 					exit (x->function(&newJob, jobList));
 				}