void config_read(char* filename, char** key, 
                 char** value) {

  FILE* cfile;
  char tok[80];
  char line[2048];
  char* target;
  int i;
  int length;

  cfile = fopen(filename, "r");
  if (!cfile) {
    perror("config_read");
    return;
  }

  while(fgets(line, 2048, cfile)) {
    if ((target = strchr(line, '='))) {
      sscanf(line, "%80s", tok);
      for(i=0; key[i]; i++) {
	if (strcmp(key[i], tok) == 0) {
	  target++;
	  while(isspace(*target)) target++;
	  length = strlen(target);
	  value[i] = (char*)calloc(1, length + 1);
	  strcpy(value[i], target);
	  target = &value[i][length - 1];
	  while(isspace(*target)) *target-- = 0;
	}
      }
    }
  }
  fclose(cfile);

}
