|
|
|
@ -11,7 +11,7 @@ |
|
|
|
class AvnStringImpl : public virtual ComSingleObject<IAvnString, &IID_IAvnString> |
|
|
|
{ |
|
|
|
private: |
|
|
|
NSString* _string; |
|
|
|
int _length; |
|
|
|
const char* _cstring; |
|
|
|
|
|
|
|
public: |
|
|
|
@ -19,8 +19,11 @@ public: |
|
|
|
|
|
|
|
AvnStringImpl(NSString* string) |
|
|
|
{ |
|
|
|
_string = string; |
|
|
|
_cstring = [_string cStringUsingEncoding:NSUTF8StringEncoding]; |
|
|
|
auto cstring = [string cStringUsingEncoding:NSUTF8StringEncoding]; |
|
|
|
_length = (int)[string lengthOfBytesUsingEncoding:NSUTF8StringEncoding]; |
|
|
|
|
|
|
|
_cstring = (const char*)malloc(_length); |
|
|
|
memcpy((void*)_cstring, (void*)cstring, _length); |
|
|
|
} |
|
|
|
|
|
|
|
virtual HRESULT Pointer(void**retOut) override |
|
|
|
@ -45,7 +48,7 @@ public: |
|
|
|
return E_POINTER; |
|
|
|
} |
|
|
|
|
|
|
|
*retOut = (int)[_string lengthOfBytesUsingEncoding:NSUTF8StringEncoding]; |
|
|
|
*retOut = _length; |
|
|
|
|
|
|
|
return S_OK; |
|
|
|
} |
|
|
|
|