static int cortotool_addDirToMonitor(corto_string dir, corto_ll monitorList) { corto_id cortoDir, srcDir; sprintf(cortoDir, "%s/.corto", dir); sprintf(srcDir, "%s/src", dir); corto_ll files = corto_opendir(srcDir); if (!files || !corto_fileTest(cortoDir)) { corto_error("'%s' isn't a valid project directory", dir); goto error; } corto_iter iter = corto_ll_iter(files); while (corto_iter_hasNext(&iter)) { corto_id srcFile; corto_string file = corto_iter_next(&iter); sprintf(srcFile, "%s/src/%s", dir, file); corto_fileMonitor *mon = cortotool_monitorNew(srcFile, dir); corto_ll_append(monitorList, mon); } corto_closedir(files); return 0; error: return -1; }
static corto_int16 html_copyFiles(htmlData_t *data) { corto_string doc; corto_asprintf(&doc, "%s/doc", CORTO_GEN_DOC_HTML_ETC); corto_ll files = corto_opendir(doc); if (!files) { goto error; } corto_iter it = corto_llIter(files); while (corto_iterHasNext(&it)) { corto_string f = corto_iterNext(&it); corto_id file; sprintf(file, "%s/%s", doc, f); if (corto_cp(file, data->output)) { goto error; } } corto_closedir(files); corto_dealloc(doc); return 0; error: return -1; }