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

Function sarraySelectBySubstring

deps/leptonica/src/sarray1.c:1144–1171  ·  view source on GitHub ↗

----------------------------------------------------------------------* * Filter sarray * *----------------------------------------------------------------------*/ ! * \brief sarraySelectBySubstring() * * \param[in] sain input sarray * \param[in] substr [optional] substring for matching; can be NULL * \return saout output sarra

Source from the content-addressed store, hash-verified

1142 * </pre>
1143 */
1144SARRAY *
1145sarraySelectBySubstring(SARRAY *sain,
1146 const char *substr)
1147{
1148char *str;
1149l_int32 n, i, offset, found;
1150SARRAY *saout;
1151
1152 PROCNAME("sarraySelectBySubstring");
1153
1154 if (!sain)
1155 return (SARRAY *)ERROR_PTR("sain not defined", procName, NULL);
1156
1157 n = sarrayGetCount(sain);
1158 if (!substr || n == 0)
1159 return sarrayCopy(sain);
1160
1161 saout = sarrayCreate(n);
1162 for (i = 0; i < n; i++) {
1163 str = sarrayGetString(sain, i, L_NOCOPY);
1164 arrayFindSequence((l_uint8 *)str, strlen(str), (l_uint8 *)substr,
1165 strlen(substr), &offset, &found);
1166 if (found)
1167 sarrayAddString(saout, str, L_COPY);
1168 }
1169
1170 return saout;
1171}
1172
1173
1174/*!

Callers 1

Calls 6

sarrayGetCountFunction · 0.85
sarrayCopyFunction · 0.85
sarrayCreateFunction · 0.85
sarrayGetStringFunction · 0.85
arrayFindSequenceFunction · 0.85
sarrayAddStringFunction · 0.85

Tested by

no test coverage detected