util.h
来自「elinks下lynx是最重要的二个文本浏览器, 在linux下非常实用, el」· C头文件 代码 · 共 103 行
H
103 行
#ifndef EL__ECMASCRIPT_SPIDERMONKEY_UTIL_H#define EL__ECMASCRIPT_SPIDERMONKEY_UTIL_H/* For wild SpiderMonkey installations. */#ifdef CONFIG_BEOS#define XP_BEOS#elif CONFIG_OS2#define XP_OS2#elif CONFIG_RISCOS#error Out of luck, buddy!#elif CONFIG_UNIX#define XP_UNIX#elif CONFIG_WIN32#define XP_WIN#endif#include <jsapi.h>#include "util/memory.h"#include "util/string.h"static void string_to_jsval(JSContext *ctx, jsval *vp, unsigned char *string);static void astring_to_jsval(JSContext *ctx, jsval *vp, unsigned char *string);static void int_to_jsval(JSContext *ctx, jsval *vp, int number);static void object_to_jsval(JSContext *ctx, jsval *vp, JSObject *object);static void boolean_to_jsval(JSContext *ctx, jsval *vp, int boolean);static void undef_to_jsval(JSContext *ctx, jsval *vp);static int jsval_to_boolean(JSContext *ctx, jsval *vp);static unsigned char *jsval_to_string(JSContext *ctx, jsval *vp);/** Inline functions */static inline voidstring_to_jsval(JSContext *ctx, jsval *vp, unsigned char *string){ if (!string) { *vp = JSVAL_NULL; } else { *vp = STRING_TO_JSVAL(JS_NewStringCopyZ(ctx, string)); }}static inline voidastring_to_jsval(JSContext *ctx, jsval *vp, unsigned char *string){ string_to_jsval(ctx, vp, string); mem_free_if(string);}static inline voidint_to_jsval(JSContext *ctx, jsval *vp, int number){ *vp = INT_TO_JSVAL(number);}static inline voidobject_to_jsval(JSContext *ctx, jsval *vp, JSObject *object){ *vp = OBJECT_TO_JSVAL(object);}static inline voidboolean_to_jsval(JSContext *ctx, jsval *vp, int boolean){ *vp = BOOLEAN_TO_JSVAL(boolean);}static inline voidundef_to_jsval(JSContext *ctx, jsval *vp){ *vp = JSVAL_NULL;}static inline intjsval_to_boolean(JSContext *ctx, jsval *vp){ jsval val; if (JS_ConvertValue(ctx, *vp, JSTYPE_BOOLEAN, &val) == JS_FALSE) { return JS_FALSE; } return JSVAL_TO_BOOLEAN(val);}static inline unsigned char *jsval_to_string(JSContext *ctx, jsval *vp){ jsval val; if (JS_ConvertValue(ctx, *vp, JSTYPE_STRING, &val) == JS_FALSE) { return ""; } return empty_string_or_(JS_GetStringBytes(JS_ValueToString(ctx, val)));}#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?