#include<stdio.h>
#include<string.h>
#include<stdbool.h>
#include<stdlib.h>
typedef struct{
char* buffer;
size_t buffer_length;
ssize_t input_length;
} inputBuffer;
inputBuffer * new_input_buffer(){
inputBuffer* input_buffer=(inputBuffer *)malloc(sizeof(inputBuffer));
input_buffer->buffer=NULL;
return input_buffer;
}
void print_prompt(){printf("db>");}
void read_input(inputBuffer *input_buffer){
ssize_t read_bytes=getline(&(input_buffer->buffer),&(input_buffer->buffer_length),stdin);
if(read_bytes==-1){
printf("Error coding motherfucker");
exit(0);
}
input_buffer->buffer[read_bytes-1]=0;
}
void close_input_buffer(inputBuffer* input_buffer){
free(input_buffer->buffer);
free(input_buffer);
}
int main(int argc,char *argv[]){
inputBuffer *input_buffer=new_input_buffer();
while(1){
print_prompt();
read_input(input_buffer);
if(strcmp(input_buffer->buffer,"exit")==0){
close_input_buffer(input_buffer);
exit(0);
}
else
{
printf("Unrecognized command %s\n",input_buffer->buffer);
}
}
return 0;
}