Beispiel #1
0
void readFunction(char* toOpen){
	FILE* toInsert = fopen(toOpen, "r");
	char toPrint[100];
	const char tabChar[2] = "\t";
	head = NULL;
	while (fgets(toPrint, 100, toInsert) != NULL){
		if (toPrint[strlen(toPrint) - 1] == '\n'){
			toPrint[strlen(toPrint) - 1] = '\0';
		}
		char* toInsertNode = strtok(toPrint, tabChar);
		int nodeInsertTracker = 1;
		struct Node* tempNode = malloc(sizeof(LN));
		while (toInsertNode != NULL){
			if (nodeInsertTracker == 1){
				tempNode->name = malloc(strlen(toInsertNode + 1));
				strcpy(tempNode->name, toInsertNode);
				nodeInsertTracker++;
			}
			else if (nodeInsertTracker == 2){
				tempNode->address = malloc(strlen(toInsertNode + 1));
				strcpy(tempNode->address, toInsertNode);
				nodeInsertTracker++;
			}
			else if (nodeInsertTracker == 3){
				tempNode->phone = malloc(strlen(toInsertNode + 1));
				strcpy(tempNode->phone, toInsertNode);
				nodeInsertTracker = 1;
			}
			toInsertNode = strtok(NULL, tabChar);
		}
		tempNode->next = NULL;
		addToLinkedList(tempNode);
	}
	fclose(toInsert);
}
Beispiel #2
0
/**
 * Main function,
 * Allocates a LinkedList with 10 items, prints it to show the order,
 * calls reverseLinkedList to reverse it, and prints it again to see
 * if the order indeed was reversed.
**/
void main (int argc, char *argv[]) {
	int i;
	int len = 10;

	if (argc > 1) {
		len = atoi(argv[1]);
	}

	Item *List = NULL;
	for (i=0; i<len; i++) {
		Item *item = malloc(sizeof(Item));
		item->v = len - i;
		addToLinkedList(&List, item);
	}

	printLinkedList(List);

	Item *revList = reverseLinkedList(List);

	printLinkedList(revList);

}
Beispiel #3
0
static const struct ProxySettings* processArgs(
  int argc,
  char** argv)
{
  int retVal;
  bool foundLocalAddress = false;
  bool foundRemoteAddress = false;
  struct ProxySettings* proxySettings = 
    checkedCalloc(1, sizeof(struct ProxySettings));
  proxySettings->bufferSize = DEFAULT_BUFFER_SIZE;
  proxySettings->noDelay = DEFAULT_NO_DELAY_SETTING;
  proxySettings->numIOThreads = DEFAULT_NUM_IO_THREADS;
  initializeLinkedList(&(proxySettings->serverAddrInfoList));

  do
  {
    retVal = getopt(argc, argv, "b:l:nr:t:");
    switch (retVal)
    {
    case 'b':
      proxySettings->bufferSize = parseBufferSize(optarg);
      break;

    case 'l':
      addToLinkedList(&(proxySettings->serverAddrInfoList),
                      parseAddrPort(optarg));
      foundLocalAddress = true;
      break;

    case 'n':
      proxySettings->noDelay = true;
      break;

    case 'r':
      if (foundRemoteAddress)
      {
        printUsageAndExit();
      }
      proxySettings->remoteAddrInfo =
        parseRemoteAddrPort(
          optarg,
          &(proxySettings->remoteAddrPortStrings));
      foundRemoteAddress = true;
      break;

    case 't':
      proxySettings->numIOThreads = parseNumIOThreads(optarg);
      break;

    case '?':
      printUsageAndExit();
      break;
    }
  }
  while (retVal != -1);

  if ((!foundLocalAddress) || (!foundRemoteAddress))
  {
    printUsageAndExit();
  }

  return proxySettings;
}