avoid relying on 'FILE *' in JS_PrintValue() API

This commit is contained in:
Fabrice Bellard
2025-05-05 15:59:04 +02:00
parent 11d076fac6
commit 0a6160d7b3
4 changed files with 174 additions and 105 deletions

View File

@@ -1117,7 +1117,6 @@ int JS_SetModuleExportList(JSContext *ctx, JSModuleDef *m,
typedef struct {
JS_BOOL show_hidden : 8; /* only show enumerable properties */
JS_BOOL show_closure : 8; /* show closure variables */
JS_BOOL raw_dump : 8; /* avoid doing autoinit and avoid any malloc() call (for internal use) */
uint32_t max_depth; /* recurse up to this depth, 0 = no limit */
uint32_t max_string_length; /* print no more than this length for
@@ -1126,9 +1125,13 @@ typedef struct {
arrays or objects, 0 = no limit */
} JSPrintValueOptions;
typedef void JSPrintValueWrite(void *opaque, const char *buf, size_t len);
void JS_PrintValueSetDefaultOptions(JSPrintValueOptions *options);
void JS_PrintValueRT(JSRuntime *rt, FILE *fo, JSValueConst val, const JSPrintValueOptions *options);
void JS_PrintValue(JSContext *ctx, FILE *fo, JSValueConst val, const JSPrintValueOptions *options);
void JS_PrintValueRT(JSRuntime *rt, JSPrintValueWrite *write_func, void *write_opaque,
JSValueConst val, const JSPrintValueOptions *options);
void JS_PrintValue(JSContext *ctx, JSPrintValueWrite *write_func, void *write_opaque,
JSValueConst val, const JSPrintValueOptions *options);
#undef js_unlikely
#undef js_force_inline