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

Function boxaaReadFromFiles

deps/leptonica/src/boxbasic.c:1823–1858  ·  view source on GitHub ↗

---------------------------------------------------------------------* * Boxaa serialized I/O * *---------------------------------------------------------------------*/ ! * \brief boxaaReadFromFiles() * * \param[in] dirname directory * \param[in] substr [optional] substring filter on filenames; can be NULL * \param[in] first 0-based

Source from the content-addressed store, hash-verified

1821 * </pre>
1822 */
1823BOXAA *
1824boxaaReadFromFiles(const char *dirname,
1825 const char *substr,
1826 l_int32 first,
1827 l_int32 nfiles)
1828{
1829char *fname;
1830l_int32 i, n;
1831BOXA *boxa;
1832BOXAA *baa;
1833SARRAY *sa;
1834
1835 PROCNAME("boxaaReadFromFiles");
1836
1837 if (!dirname)
1838 return (BOXAA *)ERROR_PTR("dirname not defined", procName, NULL);
1839
1840 sa = getSortedPathnamesInDirectory(dirname, substr, first, nfiles);
1841 if (!sa || ((n = sarrayGetCount(sa)) == 0)) {
1842 sarrayDestroy(&sa);
1843 return (BOXAA *)ERROR_PTR("no pixa files found", procName, NULL);
1844 }
1845
1846 baa = boxaaCreate(n);
1847 for (i = 0; i < n; i++) {
1848 fname = sarrayGetString(sa, i, L_NOCOPY);
1849 if ((boxa = boxaRead(fname)) == NULL) {
1850 L_ERROR("boxa not read for %d-th file", procName, i);
1851 continue;
1852 }
1853 boxaaAddBoxa(baa, boxa, L_INSERT);
1854 }
1855
1856 sarrayDestroy(&sa);
1857 return baa;
1858}
1859
1860
1861/*!

Callers

nothing calls this directly

Calls 7

sarrayGetCountFunction · 0.85
sarrayDestroyFunction · 0.85
boxaaCreateFunction · 0.85
sarrayGetStringFunction · 0.85
boxaReadFunction · 0.85
boxaaAddBoxaFunction · 0.85

Tested by

no test coverage detected