@@ -21,7 +21,7 @@ FString UPubnubUtilities::PubnubGetLastServerHttpResponse(pubnub_t* Context)
21
21
{
22
22
pubnub_char_mem_block LastServerResponse;
23
23
pubnub_last_http_response_body (Context, &LastServerResponse);
24
- return FString (LastServerResponse. ptr );
24
+ return PubnubCharMemBlockToString (LastServerResponse);
25
25
}
26
26
27
27
FString UPubnubUtilities::AddQuotesToString (const FString InString, bool SkipIfHasQuotes)
@@ -51,17 +51,13 @@ FString UPubnubUtilities::RemoveOuterQuotesFromString(const FString InString)
51
51
52
52
FString UPubnubUtilities::PubnubCharMemBlockToString (const pubnub_char_mem_block PnChar)
53
53
{
54
- if (!PnChar.ptr )
54
+ if (!PnChar.ptr || PnChar. size == 0 )
55
55
{
56
- return " " ;
56
+ return FString () ;
57
57
}
58
-
59
- #if ENGINE_MINOR_VERSION <= 3
60
- // This constructor is deprecated since 5.4
61
- return FString (PnChar.size , PnChar.ptr );
62
- #else
63
- return FString::ConstructFromPtrSize (PnChar.ptr , PnChar.size );
64
- #endif
58
+
59
+ FUTF8ToTCHAR Converter (reinterpret_cast <const ANSICHAR*>(PnChar.ptr ), PnChar.size );
60
+ return FString (Converter.Length (), Converter.Get ());
65
61
}
66
62
67
63
FString UPubnubUtilities::MembershipIncludeToString (const FPubnubMembershipInclude& MembershipInclude)
@@ -259,13 +255,14 @@ FString UPubnubUtilities::GetAllSortToString(const FPubnubGetAllSort& GetAllIncl
259
255
return FinalString;
260
256
}
261
257
262
-
263
258
pubnub_subscription_t * UPubnubUtilities::EEGetSubscriptionForChannel (pubnub_t * Context, FString Channel, FPubnubSubscribeSettings Options)
264
259
{
265
260
pubnub_subscription_options_t PnOptions = pubnub_subscription_options_defopts ();
266
261
PnOptions.receive_presence_events = Options.ReceivePresenceEvents ;
267
262
268
- pubnub_channel_t * PubnubChannel = pubnub_channel_alloc (Context, TCHAR_TO_ANSI (*Channel));
263
+ FUTF8StringHolder ChannelHolder (Channel);
264
+
265
+ pubnub_channel_t * PubnubChannel = pubnub_channel_alloc (Context, ChannelHolder.Get ());
269
266
270
267
pubnub_subscription_t * Subscription = pubnub_subscription_alloc ((pubnub_entity_t *)PubnubChannel, &PnOptions);
271
268
@@ -279,7 +276,9 @@ pubnub_subscription_t* UPubnubUtilities::EEGetSubscriptionForChannelGroup(pubnub
279
276
pubnub_subscription_options_t PnOptions = pubnub_subscription_options_defopts ();
280
277
PnOptions.receive_presence_events = Options.ReceivePresenceEvents ;
281
278
282
- pubnub_channel_group_t * PubnubChannelGroup = pubnub_channel_group_alloc (Context, TCHAR_TO_ANSI (*ChannelGroup));
279
+ FUTF8StringHolder ChannelGroupHolder (ChannelGroup);
280
+
281
+ pubnub_channel_group_t * PubnubChannelGroup = pubnub_channel_group_alloc (Context, ChannelGroupHolder.Get ());
283
282
284
283
pubnub_subscription_t * Subscription = pubnub_subscription_alloc ((pubnub_entity_t *)PubnubChannelGroup, &PnOptions);
285
284
0 commit comments