示例#1
0
文件: internal.c 项目: Mpounta/augeas
int __aug_close_memstream(struct memstream *ms) {
#if !HAVE_OPEN_MEMSTREAM
    rewind(ms->stream);
    ms->buf = fread_file_lim(ms->stream, MAX_READ_LEN, &(ms->size));
#endif
    if (fclose(ms->stream) == EOF) {
        FREE(ms->buf);
        ms->size = 0;
        return -1;
    }
    return 0;
}
示例#2
0
char* xfread_file(FILE *fp) {
    char *result;
    size_t len;

    if (!fp)
        return NULL;

    result = fread_file_lim(fp, MAX_READ_LEN, &len);

    if (result != NULL
        && len <= MAX_READ_LEN
        && (int) len == len)
        return result;

    free(result);
    return NULL;
}
示例#3
0
文件: internal.c 项目: Mpounta/augeas
char* xread_file(const char *path) {
    FILE *fp = fopen(path, "r");
    char *result;
    size_t len;

    if (!fp)
        return NULL;

    result = fread_file_lim(fp, MAX_READ_LEN, &len);
    fclose (fp);

    if (result != NULL
        && len <= MAX_READ_LEN
        && (int) len == len)
        return result;

    free(result);
    return NULL;
}