basic-shell / tokenize.c
tokenize.c
Raw
#define  _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// for necessary constants
#include "tokenize.h"

int main(int argc, char **argv) {
  char *temp = malloc(MAX_SIZE * sizeof(char));
  // use getline to read from input
  size_t n = MAX_SIZE;
  size_t res = getline(&temp, &n, stdin);
  // remove the extra newline character from the end of getline
  if (temp[res - 1] == '\n') {
    temp[res - 1] = '\0';
  }
  // design decision : use string vector 
  vect_t *tokens = create_tokens(temp);
  // finally, print the tokens out after they have
  // been tokenized correctly
  int i = 0;
  while (i < vect_size(tokens)) {
	  char *item = vect_get_copy(tokens, i);
	  printf("%s\n", item);
	  free(item);
	  i++;
  }

  vect_delete(tokens);
  free(temp);
  return 0;
}