mirror of https://github.com/axmolengine/axmol.git
fixed #2059: cc.FileUtils.getInstance().getStringFromFile(filename) doesn't return a whole string.
This commit is contained in:
parent
2d92ba4d6a
commit
ddd6d9d155
|
@ -34,8 +34,7 @@ NS_CC_BEGIN
|
|||
void CCLog(const char * pszFormat, ...)
|
||||
{
|
||||
printf("Cocos2d: ");
|
||||
char szBuf[kMaxLogLen];
|
||||
|
||||
char szBuf[kMaxLogLen+1] = {0};
|
||||
va_list ap;
|
||||
va_start(ap, pszFormat);
|
||||
vsnprintf(szBuf, kMaxLogLen, pszFormat, ap);
|
||||
|
|
|
@ -275,9 +275,12 @@ cc_utf8_get_char (const char * p)
|
|||
}
|
||||
|
||||
|
||||
unsigned short* cc_utf8_to_utf16(const char* str_old)
|
||||
unsigned short* cc_utf8_to_utf16(const char* str_old, size_t length/* = -1 */, size_t* rUtf16Size/* = NULL */)
|
||||
{
|
||||
int len = cc_utf8_strlen(str_old, -1);
|
||||
int len = cc_utf8_strlen(str_old, length);
|
||||
if (rUtf16Size != NULL) {
|
||||
*rUtf16Size = len;
|
||||
}
|
||||
|
||||
unsigned short* str_new = new unsigned short[len + 1];
|
||||
str_new[len] = 0;
|
||||
|
|
|
@ -59,7 +59,7 @@ CC_DLL std::vector<unsigned short> cc_utf16_vec_from_utf16_str(const unsigned sh
|
|||
*
|
||||
* Return value: the newly created utf8 string.
|
||||
* */
|
||||
CC_DLL unsigned short* cc_utf8_to_utf16(const char* str_old);
|
||||
CC_DLL unsigned short* cc_utf8_to_utf16(const char* str_old, size_t length = -1, size_t* rUtf16Size = NULL);
|
||||
|
||||
/**
|
||||
* cc_utf16_to_utf8:
|
||||
|
|
|
@ -162,11 +162,11 @@ void ScriptingCore::executeJSFunctionWithThisObj(jsval thisObj, jsval callback,
|
|||
|
||||
void js_log(const char *format, ...) {
|
||||
if (_js_log_buf == NULL) {
|
||||
_js_log_buf = (char *)calloc(sizeof(char), 257);
|
||||
_js_log_buf = (char *)calloc(sizeof(char), kMaxLogLen+1);
|
||||
}
|
||||
va_list vl;
|
||||
va_start(vl, format);
|
||||
int len = vsnprintf(_js_log_buf, 256, format, vl);
|
||||
int len = vsnprintf(_js_log_buf, kMaxLogLen, format, vl);
|
||||
va_end(vl);
|
||||
if (len) {
|
||||
CCLOG("JS: %s\n", _js_log_buf);
|
||||
|
@ -1525,14 +1525,16 @@ jsval std_string_to_jsval(JSContext* cx, std::string& v) {
|
|||
return c_string_to_jsval(cx, v.c_str());
|
||||
}
|
||||
|
||||
jsval c_string_to_jsval(JSContext* cx, const char* v) {
|
||||
jsval c_string_to_jsval(JSContext* cx, const char* v, size_t length /* = -1 */) {
|
||||
if (v == NULL) {
|
||||
return JSVAL_NULL;
|
||||
}
|
||||
jsval ret = JSVAL_NULL;
|
||||
jschar* strUTF16 = (jschar*)cc_utf8_to_utf16(v);
|
||||
if (strUTF16) {
|
||||
JSString* str = JS_NewUCStringCopyZ(cx, strUTF16);
|
||||
size_t utf16_size = 0;
|
||||
jschar* strUTF16 = (jschar*)cc_utf8_to_utf16(v, length, &utf16_size);
|
||||
|
||||
if (strUTF16 && utf16_size > 0) {
|
||||
JSString* str = JS_NewUCStringCopyN(cx, strUTF16, utf16_size);
|
||||
if (str) {
|
||||
ret = STRING_TO_JSVAL(str);
|
||||
}
|
||||
|
|
|
@ -229,7 +229,7 @@ jsval int32_to_jsval( JSContext *cx, int32_t l);
|
|||
jsval uint32_to_jsval( JSContext *cx, uint32_t number );
|
||||
jsval long_long_to_jsval(JSContext* cx, long long v);
|
||||
jsval std_string_to_jsval(JSContext* cx, string& v);
|
||||
jsval c_string_to_jsval(JSContext* cx, const char* v);
|
||||
jsval c_string_to_jsval(JSContext* cx, const char* v, size_t length = -1);
|
||||
jsval ccpoint_to_jsval(JSContext* cx, CCPoint& v);
|
||||
jsval ccrect_to_jsval(JSContext* cx, CCRect& v);
|
||||
jsval ccsize_to_jsval(JSContext* cx, CCSize& v);
|
||||
|
|
|
@ -1 +1 @@
|
|||
158877faeea5c5d8bf8b8e51dc69aa902c382d32
|
||||
094ddece4a019c0c5fe27fb260b78a90e1334208
|
Loading…
Reference in New Issue