MCPcopy Create free account
hub / github.com/creatale/node-dv / sarrayCreateWordsFromString

Function sarrayCreateWordsFromString

deps/leptonica/src/sarray1.c:225–257  ·  view source on GitHub ↗

! * \brief sarrayCreateWordsFromString() * * \param[in] string * \return sarray, or NULL on error * * * Notes: * (1) This finds the number of word substrings, creates an sarray * of this size, and puts copies of each substring into the sarray. * */

Source from the content-addressed store, hash-verified

223 * </pre>
224 */
225SARRAY *
226sarrayCreateWordsFromString(const char *string)
227{
228char separators[] = " \n\t";
229l_int32 i, nsub, size, inword;
230SARRAY *sa;
231
232 PROCNAME("sarrayCreateWordsFromString");
233
234 if (!string)
235 return (SARRAY *)ERROR_PTR("textstr not defined", procName, NULL);
236
237 /* Find the number of words */
238 size = strlen(string);
239 nsub = 0;
240 inword = FALSE;
241 for (i = 0; i < size; i++) {
242 if (inword == FALSE &&
243 (string[i] != ' ' && string[i] != '\t' && string[i] != '\n')) {
244 inword = TRUE;
245 nsub++;
246 } else if (inword == TRUE &&
247 (string[i] == ' ' || string[i] == '\t' || string[i] == '\n')) {
248 inword = FALSE;
249 }
250 }
251
252 if ((sa = sarrayCreate(nsub)) == NULL)
253 return (SARRAY *)ERROR_PTR("sa not made", procName, NULL);
254 sarraySplitString(sa, string, separators);
255
256 return sa;
257}
258
259
260/*!

Callers 5

parseForProtosFunction · 0.85
cleanProtoSignatureFunction · 0.85
sudokuReadFileFunction · 0.85
l_getIndexFromFileFunction · 0.85
bmfGetLineStringsFunction · 0.85

Calls 2

sarrayCreateFunction · 0.85
sarraySplitStringFunction · 0.85

Tested by

no test coverage detected