Added hash table

This commit is contained in:
Wesley Strong
2016-10-04 11:09:13 -05:00
parent 4062c92d83
commit c659b340b6
9 changed files with 285 additions and 2 deletions

3
.eval.dat Normal file
View File

@@ -0,0 +1,3 @@
ls:ls --color
test:testing

BIN
.harambe_shell.c.swp Normal file

Binary file not shown.

Binary file not shown.

191
dircolors.conf Normal file
View File

@@ -0,0 +1,191 @@
# Configuration file for dircolors, a utility to help you set the
# LS_COLORS environment variable used by GNU ls with the --color option.
# Copyright (C) 1996-2016 Free Software Foundation, Inc.
# Copying and distribution of this file, with or without modification,
# are permitted provided the copyright notice and this notice are preserved.
# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the
# slackware version of dircolors) are recognized but ignored.
# Below are TERM entries, which can be a glob patterns, to match
# against the TERM environment variable to determine if it is colorizable.
TERM Eterm
TERM ansi
TERM color-xterm
TERM con[0-9]*x[0-9]*
TERM cons25
TERM console
TERM cygwin
TERM dtterm
TERM eterm-color
TERM gnome
TERM gnome-256color
TERM hurd
TERM jfbterm
TERM konsole
TERM kterm
TERM linux
TERM linux-c
TERM mach-color
TERM mach-gnu-color
TERM mlterm
TERM putty
TERM putty-256color
TERM rxvt*
TERM screen*
TERM st
TERM st-256color
TERM terminator
TERM tmux*
TERM vt100
TERM xterm*
# Below are the color init strings for the basic file types. A color init
# string consists of one or more of the following numeric codes:
# Attribute codes:
# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
# Text color codes:
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
# Background color codes:
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
#NORMAL 00 # no color code at all
#FILE 00 # regular file: use no color at all
RESET 0 # reset to "normal" color
DIR 01;34 # directory
LINK 01;36 # symbolic link. (If you set this to 'target' instead of a
# numerical value, the color is as for the file pointed to.)
MULTIHARDLINK 00 # regular file with more than one link
FIFO 40;33 # pipe
SOCK 01;35 # socket
DOOR 01;35 # door
BLK 40;33;01 # block device driver
CHR 40;33;01 # character device driver
ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file ...
MISSING 00 # ... and the files they point to
SETUID 37;41 # file that is setuid (u+s)
SETGID 30;43 # file that is setgid (g+s)
CAPABILITY 30;41 # file with capability
STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w)
OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable
# This is for files with execute permission:
EXEC 01;32
# List any file extensions like '.gz' or '.tar' that you would like ls
# to colorize below. Put the extension, a space, and the color init string.
# (and any comments you want to add after a '#')
# If you use DOS-style suffixes, you may want to uncomment the following:
#.cmd 01;32 # executables (bright green)
#.exe 01;32
#.com 01;32
#.btm 01;32
#.bat 01;32
# Or if you want to colorize scripts even if they do not have the
# executable bit actually set.
#.sh 01;32
#.csh 01;32
# archives or compressed (bright red)
.tar 01;31
.tgz 01;31
.arc 01;31
.arj 01;31
.taz 01;31
.lha 01;31
.lz4 01;31
.lzh 01;31
.lzma 01;31
.tlz 01;31
.txz 01;31
.tzo 01;31
.t7z 01;31
.zip 01;31
.z 01;31
.Z 01;31
.dz 01;31
.gz 01;31
.lrz 01;31
.lz 01;31
.lzo 01;31
.xz 01;31
.bz2 01;31
.bz 01;31
.tbz 01;31
.tbz2 01;31
.tz 01;31
.deb 01;31
.rpm 01;31
.jar 01;31
.war 01;31
.ear 01;31
.sar 01;31
.rar 01;31
.alz 01;31
.ace 01;31
.zoo 01;31
.cpio 01;31
.7z 01;31
.rz 01;31
.cab 01;31
# image formats
.jpg 01;35
.jpeg 01;35
.gif 01;35
.bmp 01;35
.pbm 01;35
.pgm 01;35
.ppm 01;35
.tga 01;35
.xbm 01;35
.xpm 01;35
.tif 01;35
.tiff 01;35
.png 01;35
.svg 01;35
.svgz 01;35
.mng 01;35
.pcx 01;35
.mov 01;35
.mpg 01;35
.mpeg 01;35
.m2v 01;35
.mkv 01;35
.webm 01;35
.ogm 01;35
.mp4 01;35
.m4v 01;35
.mp4v 01;35
.vob 01;35
.qt 01;35
.nuv 01;35
.wmv 01;35
.asf 01;35
.rm 01;35
.rmvb 01;35
.flc 01;35
.avi 01;35
.fli 01;35
.flv 01;35
.gl 01;35
.dl 01;35
.xcf 01;35
.xwd 01;35
.yuv 01;35
.cgm 01;35
.emf 01;35
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
.ogv 01;35
.ogx 01;35
# audio formats
.aac 00;36
.au 00;36
.flac 00;36
.m4a 00;36
.mid 00;36
.midi 00;36
.mka 00;36
.mp3 00;36
.mpc 00;36
.ogg 00;36
.ra 00;36
.wav 00;36
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
.oga 00;36
.opus 00;36
.spx 00;36
.xspf 00;36

12
harambe Normal file
View File

@@ -0,0 +1,12 @@
bin
dircolors.conf
harambe
harambe_shell
harambe_shell.c
harambe_shell.cbp
harambe_shell.depend
harambe_shell.layout
makefile
obj
pyclewn-2.3.vmb
test

Binary file not shown.

View File

@@ -17,6 +17,7 @@
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <search.h>
//Thanks Andrejs Cainikovs for the ccolor stuff
//SRC: http://stackoverflow.com/questions/3219393/stdlib-and-colored-output-in-c
@@ -31,6 +32,75 @@
//List of built in shell commands.
char *builtin[] = {"cd","exit"};
void create_file()
{
FILE *file;
file = fopen(".eval.dat", "ab+");
fclose(file);
//close(file);
}
FILE *open_file()
{
FILE *file;
file = fopen(".eval.dat", "r");
return file;
}
char *read_line(FILE *file)
{
char *buff;
buff = (char *) malloc(266);
fgets(buff,266,(FILE* )file);
return buff;
}
void print_file()
{
FILE *file;
file = open_file();
char *line;
line = (char *) malloc(266);
line = read_line(file);
printf("%s\n",line);
line = read_line(file);
printf("%s\n", line);
fclose(file);
}
void store_hash()
{
ENTRY e, *ep;
int i = 0;
char *test[] = {"test","testing"};
hcreate(30);
e.data = (void *) i;
e.key = test[0];
e.data = (void *) i + 1;
e.key = test[1];
ep = hsearch(e, ENTER);
ep = hsearch(e, FIND);
printf("%s\n", e.key);
hdestroy();
}
//If cd is left NULL then returns to home dir otherwise go to distination.
int harambe_cd(char **args)
{
@@ -232,6 +302,10 @@ int main()
int out = 0;
char output[50];
char *prompt;
print_file();
store_hash();
prompt = harambe_build_prompt();
//max 80 tokens in line

View File

@@ -1,9 +1,12 @@
# depslib dependency file v1.0
1475030947 source:/home/wes/Documents/harambe_shell/harambe_shell.c
1475287758 source:/home/wes/Documents/harambe_shell/harambe_shell.c
<unistd.h>
<stdio.h>
<sys/wait.h>
<unistd.h>
<stdlib.h>
<string.h>
<errno.h>
<fcntl.h>
<sys/stat.h>
<sys/types.h>

Binary file not shown.