示例#1
0
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;
}
示例#2
0
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;
}