Mercurial > hg > Applications > Grep
view c/regexParser/word.cc @ 118:31b0ba0050fa testcode
text
author | Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 26 Nov 2015 17:19:00 +0900 |
parents | c/regexParser/word.c@166136236891 |
children | 5d29b6a1b50f |
line wrap: on
line source
#include <ctype.h> #include <string.h> #include <stdio.h> #include <stdlib.h> #include "word.h" WordPtr getWord(unsigned char *string) { WordPtr w = (WordPtr)malloc(sizeof(Word)); int i = 0; while (isalnum(string[i])) { i++; } int allocateWordSize, wordLength; unsigned char *word = NULL; if (string[i] == '*') { wordLength = i-1; allocateWordSize = i; word = (unsigned char*)malloc(sizeof(unsigned char)*allocateWordSize); strncpy((char*)word, (char*)string, allocateWordSize); word[allocateWordSize-1] = '\0'; } else { wordLength = i; allocateWordSize = i+1; word = (unsigned char*)malloc(sizeof(unsigned char)*allocateWordSize); strncpy((char*)word, (char*)string, allocateWordSize); word[allocateWordSize] = '\0'; } w->word = word; w->length = wordLength; return w; }