当前位置: 首页>>代码示例>>C++>>正文


C++ CCLuaStack::pushNil方法代码示例

本文整理汇总了C++中CCLuaStack::pushNil方法的典型用法代码示例。如果您正苦于以下问题:C++ CCLuaStack::pushNil方法的具体用法?C++ CCLuaStack::pushNil怎么用?C++ CCLuaStack::pushNil使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CCLuaStack的用法示例。


在下文中一共展示了CCLuaStack::pushNil方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: malloc

cocos2d::LUA_STRING CCCrypto::cryptAES256Lua(bool isDecrypt,
                                             const char* input,
                                             int inputLength,
                                             const char* key,
                                             int keyLength)
{
    CCLuaStack* stack = CCLuaEngine::defaultEngine()->getLuaStack();
    stack->clean();
    if (getAES256KeyLength() == 0)
    {
        stack->pushNil();
        return 1;
    }
    
    int bufferSize = inputLength + getAES256KeyLength();
    void* buffer = malloc(bufferSize);
    int dataUsed = cryptAES256(isDecrypt, (unsigned char*)input, inputLength, (unsigned char*)buffer, bufferSize, (unsigned char*)key, keyLength);
    if (dataUsed > 0)
    {
        stack->pushString(static_cast<const char*>(buffer), dataUsed);
    }
    else
    {
        stack->pushNil();
    }
    free(buffer);
    return 1;
}
开发者ID:joshfeng,项目名称:quick-cocos2d-x,代码行数:28,代码来源:CCCrypto.cpp

示例2: free

LUA_STRING CCCrypto::encodingBase64Lua(bool isDecoding,
                                       const char* input,
                                       int inputLength)
{
    CCLuaStack* stack = CCLuaEngine::defaultEngine()->getLuaStack();
    stack->clean();
    
    int outputLength = inputLength * 2;
    char* output = static_cast<char*>(malloc(outputLength));
    int dataUsed = -1;
    
    if (isDecoding)
    {
        dataUsed = decodeBase64(input, output, outputLength);
    }
    else
    {
        dataUsed = encodeBase64((unsigned char*)input, inputLength, output, outputLength);
    }
    if (dataUsed > 0 && dataUsed < outputLength)
    {
        stack->pushString(output, dataUsed);
    }
    else
    {
        stack->pushNil();
    }
    free(output);
    return 1;
}
开发者ID:joshfeng,项目名称:quick-cocos2d-x,代码行数:30,代码来源:CCCrypto.cpp

示例3: free

LUA_STRING CCCrypto::encodingBase64Lua(bool isDecoding,
                                       const char* input,
                                       int inputLength)
{
    CCLuaStack* stack = CCLuaEngine::defaultEngine()->getLuaStack();
    stack->clean();

    int bufferSize = isDecoding ? Base64decode_len(input) : Base64encode_len(inputLength);
    char *buffer = bufferSize ? (char*)malloc(bufferSize) : NULL;
    int size = 0;

    if (buffer)
    {
        size = isDecoding ? Base64decode(buffer, input) : (Base64encode(buffer, input, inputLength) - 1);
    }
    if (size)
    {
        stack->pushString(buffer, size);
    }
    else
    {
        stack->pushNil();
    }
    if (buffer)
    {
        free(buffer);
    }
    return 1;
}
开发者ID:1085075003,项目名称:quick-cocos2d-x,代码行数:29,代码来源:CCCrypto.cpp

示例4: getFileDataOrder

void CCZipFile::getFileDataOrder(const char *filename)
{
    unsigned long size;
    unsigned char* buf = getFileData(filename, &size);
	CCLuaStack* stack = CCLuaEngine::defaultEngine()->getLuaStack();
	stack->clean();
	if (NULL==buf) 
	{
		stack->pushNil();
		return;
	}
    stack->pushString((const char*)buf, size);
    delete []buf;
    return;   
}
开发者ID:gooderman,项目名称:vv2d,代码行数:15,代码来源:CCZipFile.cpp


注:本文中的CCLuaStack::pushNil方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。