// ------------------------------------------------------------------------------------------------ #include "Common.hpp" // ------------------------------------------------------------------------------------------------ #include // ------------------------------------------------------------------------------------------------ namespace SqMod { // ------------------------------------------------------------------------------------------------ SQInteger GetNick(HSQUIRRELVM vm) { // Attempt to retrieve the value from the stack as a string StackStrF val(vm, 2); // Have we failed to retrieve the string? if (SQ_FAILED(val.mRes)) { return val.mRes; // Propagate the error! } // Attempt to retrieve the nickname irc_target_get_nick(val.mPtr, GetTempBuff(), GetTempBuffSize()); // Push the resulted value on the stack sq_pushstring(vm, GetTempBuff(), -1); // Specify that this function returned a value return 1; } // ------------------------------------------------------------------------------------------------ SQInteger GetHost(HSQUIRRELVM vm) { // Attempt to retrieve the value from the stack as a string StackStrF val(vm, 2); // Have we failed to retrieve the string? if (SQ_FAILED(val.mRes)) { return val.mRes; // Propagate the error! } // Attempt to retrieve the host irc_target_get_host(val.mPtr, GetTempBuff(), GetTempBuffSize()); // Push the resulted value on the stack sq_pushstring(vm, GetTempBuff(), -1); // Specify that this function returned a value return 1; } // ------------------------------------------------------------------------------------------------ SQInteger StripColorFromMIRC(HSQUIRRELVM vm) { // Attempt to retrieve the value from the stack as a string StackStrF val(vm, 2); // Have we failed to retrieve the string? if (SQ_FAILED(val.mRes)) { return val.mRes; // Propagate the error! } // Attempt to strip the colors CStr str = irc_color_strip_from_mirc(val.mPtr); // Could the IRC library allocate memory? if (!str) { return sq_throwerror(vm, _SC("Unable to allocate memory")); } // Push the resulted value on the stack sq_pushstring(vm, str, -1); // Free the memory allocated by the IRC library std::free(str); // Specify that this function returned a value return 1; } // ------------------------------------------------------------------------------------------------ SQInteger ConvertColorFromMIRC(HSQUIRRELVM vm) { // Attempt to retrieve the value from the stack as a string StackStrF val(vm, 2); // Have we failed to retrieve the string? if (SQ_FAILED(val.mRes)) { return val.mRes; // Propagate the error! } // Attempt to convert the colors CStr str = irc_color_convert_from_mirc(val.mPtr); // Could the IRC library allocate memory? if (!str) { return sq_throwerror(vm, _SC("Unable to allocate memory")); } // Push the resulted value on the stack sq_pushstring(vm, str, -1); // Free the memory allocated by the IRC library std::free(str); // Specify that this function returned a value return 1; } // ------------------------------------------------------------------------------------------------ SQInteger ConvertColorToMIRC(HSQUIRRELVM vm) { // Attempt to retrieve the value from the stack as a string StackStrF val(vm, 2); // Have we failed to retrieve the string? if (SQ_FAILED(val.mRes)) { return val.mRes; // Propagate the error! } // Attempt to convert the colors CStr str = irc_color_convert_to_mirc(val.mPtr); // Could the IRC library allocate memory? if (!str) { return sq_throwerror(vm, _SC("Unable to allocate memory")); } // Push the resulted value on the stack sq_pushstring(vm, str, -1); // Free the memory allocated by the IRC library std::free(str); // Specify that this function returned a value return 1; } } // Namespace:: SqMod