FACT++  1.0
void TokenString::store_str ( char *  str)
private

Definition at line 39 of file tokenstring.cxx.

References i, n_tokens, token_ptr, and token_seps.

Referenced by TokenString().

40 {
41 int i, in_tok = 0;
42 int sep = 0;
43 
44  n_tokens = 0;
45  if(!token_seps)
46  {
47  while(*str)
48  {
49  if( (*str == '@') || (*str == '|') || (*str == '/') ||
50  (*str == '=') || (*str == '(') || (*str == ')') ||
51  (*str == '.') || (*str == '\n'))
52  {
53  if(in_tok)
54  {
55  *token_ptr++ = '\0';
56  n_tokens++;
57  }
58  *token_ptr++ = *str++;
59  *token_ptr++ = '\0';
60  n_tokens++;
61  in_tok = 0;
62  }
63  else if(*str == '"')
64  {
65  if(in_tok)
66  {
67  *token_ptr++ = '\0';
68  n_tokens++;
69  }
70  *token_ptr++ = *str++;
71  while(*str != '"')
72  {
73  *token_ptr++ = *str++;
74  }
75  *token_ptr++ = *str++;
76  *token_ptr++ = '\0';
77  n_tokens++;
78  in_tok = 0;
79  }
80  else if(*str == ':')
81  {
82  if(*(str+1) == ':')
83  {
84  if(in_tok)
85  {
86  *token_ptr++ = '\0';
87  n_tokens++;
88  }
89  *token_ptr++ = *str++;
90  *token_ptr++ = *str++;
91  *token_ptr++ = '\0';
92  n_tokens++;
93  in_tok = 0;
94  }
95  else
96  {
97  *token_ptr++ = *str++;
98  in_tok = 1;
99  }
100  }
101  else
102  {
103  *token_ptr++ = *str++;
104  in_tok = 1;
105  }
106  }
107  }
108  else
109  {
110  while(*str)
111  {
112  sep = 0;
113  for(i = 0; i < (int)strlen(token_seps); i++)
114  {
115  if(*str == token_seps[i])
116  {
117  if(in_tok)
118  {
119  *token_ptr++ = '\0';
120  n_tokens++;
121  }
122  *token_ptr++ = *str++;
123  *token_ptr++ = '\0';
124  sep = 1;
125  in_tok = 0;
126  n_tokens++;
127  break;
128  }
129  }
130  if(!sep)
131  {
132  *token_ptr++ = *str++;
133  in_tok = 1;
134  }
135  }
136  }
137  if(in_tok)
138  {
139  *token_ptr++ = '\0';
140  n_tokens++;
141  }
142  *token_ptr++ = '\0';
143 }
int i
Definition: db_dim_client.c:21
char str[80]
Definition: test_client.c:7
char * token_ptr
Definition: tokenstring.hxx:24
char * token_seps
Definition: tokenstring.hxx:27

+ Here is the caller graph for this function: