tStringBuffer tCOMUtil::getPrintableTypeDesc(const TYPEDESC& tdesc) { char buffer[200]; buffer[0] = '\0'; switch(tdesc.vt & ~(VT_ARRAY | VT_BYREF)) { case VT_VOID: strcat(buffer, "void"); break; case VT_I2: strcat(buffer, "short"); break; case VT_I4: strcat(buffer, "long"); break; case VT_R4: strcat(buffer, "float"); break; case VT_R8: strcat(buffer, "double"); break; case VT_CY: strcat(buffer, "CY"); break; case VT_DATE: strcat(buffer, "DATE"); break; case VT_BSTR: strcat(buffer, "BSTR"); break; case VT_DISPATCH: strcat(buffer, "IDispatch*"); break; case VT_BOOL: strcat(buffer, "VARIANT_BOOL"); break; case VT_VARIANT: strcat(buffer, "VARIANT"); break; case VT_UNKNOWN: strcat(buffer, "IUnknown*"); break; case VT_DECIMAL: strcat(buffer, "Decimal"); break; case VT_UI1: strcat(buffer, "unsigned char"); break; case VT_INT: strcat(buffer, "int"); break; case VT_HRESULT: strcat(buffer, "void"); break; } if(tdesc.vt & VT_BYREF) strcat(buffer, "*"); if(tdesc.vt & VT_ARRAY) strcat(buffer, "[]"); return tStringBuffer(buffer); }
////////////////////////////////////////////////////////////////////// // RCS Info static char *rcsid = "$Id: tUtil.cpp,v 1.4 2008/01/10 17:44:55 ignacio Exp $"; static char *rcsname = "$Name: HEAD $"; #include <assert.h> #if !defined(__WINE__) || defined(__MSVCRT__) #include <process.h> #endif #include "tUtil.h" #include "tLuaCOMException.h" tStringBuffer tUtil::string_buffer = tStringBuffer(); FILE* tUtil::log_file = NULL; #define MAX_VALID_STRING_SIZE 1000 ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// bool tUtil::IsValidString(LPCTSTR string) { bool return_value = string != NULL && !IsBadStringPtr(string, MAX_VALID_STRING_SIZE); assert(return_value);