]> wimlib.net Git - wimlib/blobdiff - include/wimlib/textfile.h
wimextract: allow specifying listfile on stdin
[wimlib] / include / wimlib / textfile.h
index bc2068ff418b3b5f5cd03047b7808a34b72f405e..d79f8b11b78b954fadc374095fdd0b2f690d9adb 100644 (file)
@@ -1,54 +1,37 @@
 #ifndef _WIMLIB_TEXTFILE_H_
 #define _WIMLIB_TEXTFILE_H_
 
-#include <wimlib/types.h>
+#include "wimlib/types.h"
 
-struct string_set {
+struct string_list {
        tchar **strings;
        size_t num_strings;
        size_t num_alloc_strings;
 };
 
-#define STRING_SET_INITIALIZER \
+#define STRING_LIST_INITIALIZER \
        { .strings = NULL, .num_strings = 0, .num_alloc_strings = 0, }
 
-#define STRING_SET(_strings) \
-       struct string_set _strings = STRING_SET_INITIALIZER
+#define STRING_LIST(_strings) \
+       struct string_list _strings = STRING_LIST_INITIALIZER
 
 typedef int (*line_mangle_t)(tchar *line, const tchar *filename,
                             unsigned long line_no);
 
 struct text_file_section {
        const tchar *name;
-       struct string_set *strings;
+       struct string_list *strings;
 };
 
 #define LOAD_TEXT_FILE_REMOVE_QUOTES 0x00000001
+#define LOAD_TEXT_FILE_NO_WARNINGS   0x00000002
+#define LOAD_TEXT_FILE_ALLOW_STDIN   0x00000004
 
 extern int
-do_load_text_file(const tchar *path, tchar *buf, size_t buflen, tchar **buf_ret,
-                 const struct text_file_section *pos_sections,
-                 int num_pos_sections, int flags,
-                 line_mangle_t mangle_line);
-
-static inline int
-load_text_file(const tchar *path, tchar **buf_ret,
+load_text_file(const tchar *path, const void *buf, size_t bufsize,
+              void **mem_ret,
               const struct text_file_section *pos_sections,
-              int num_pos_sections, line_mangle_t mangle_line)
-{
-       return do_load_text_file(path, NULL, 0, buf_ret,
-                                pos_sections, num_pos_sections,
-                                LOAD_TEXT_FILE_REMOVE_QUOTES, mangle_line);
-}
-
-static inline int
-load_text_buffer(tchar *buf, size_t buflen,
-                const struct text_file_section *pos_sections,
-                int num_pos_sections, line_mangle_t mangle_line)
-{
-       return do_load_text_file(NULL, buf, buflen, &buf,
-                                pos_sections, num_pos_sections,
-                                LOAD_TEXT_FILE_REMOVE_QUOTES, mangle_line);
-}
+              int num_pos_sections,
+              int flags, line_mangle_t mangle_line);
 
 #endif /* _WIMLIB_TEXTFILE_H_ */