Fix to assign string.Empty when Marshal.PtrToStringAnsi(XXXptr)'s XXXptr is IntPtr... 34/124134/2
authorHongkuk, Son <hongkuk.son@samsung.com>
Mon, 10 Apr 2017 09:21:18 +0000 (18:21 +0900)
committerHongkuk, Son <hongkuk.son@samsung.com>
Mon, 10 Apr 2017 11:03:49 +0000 (20:03 +0900)
Signed-off-by: Hongkuk, Son <hongkuk.son@samsung.com>
Change-Id: I757e7f4e04fc5a42fbb04fb03dd238f9ac28f72c

Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/Attributes.cs
Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/IoTConnectivityClientManager.cs
Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/RemoteResource.cs
Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/Representation.cs
Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/Resource.cs
Tizen.Network.IoTConnectivity/Tizen.Network.IoTConnectivity/ResourceQuery.cs

index 57a6e3a..7514598 100755 (executable)
@@ -546,7 +546,7 @@ namespace Tizen.Network.IoTConnectivity
                                 Log.Error(IoTConnectivityErrorFactory.LogTag, "Failed to get attributes");
                                 throw IoTConnectivityErrorFactory.GetException(ret);
                             }
-                            Str = Marshal.PtrToStringAnsi(value);
+                            Str = (value != IntPtr.Zero) ? Marshal.PtrToStringAnsi(value) : string.Empty;
                             _attributes.Add(key, Str);
                             break;
                         }
index 066d8ce..5c057bd 100755 (executable)
@@ -753,8 +753,8 @@ namespace Tizen.Network.IoTConnectivity
             PresenceReceivedEventArgs e = new PresenceReceivedEventArgs()
             {
                 PresenceId = presenceId,
-                HostAddress = Marshal.PtrToStringAnsi(host),
-                Type = Marshal.PtrToStringAnsi(type),
+                HostAddress = (host != IntPtr.Zero) ? Marshal.PtrToStringAnsi(host) : string.Empty,
+                Type = (type != IntPtr.Zero) ? Marshal.PtrToStringAnsi(type) : string.Empty,
                 EventType = (PresenceEventType)trigger
             };
 
@@ -797,10 +797,10 @@ namespace Tizen.Network.IoTConnectivity
             {
                 RequestId = requestId,
                 EventContinue = true,
-                Name = Marshal.PtrToStringAnsi(name),
-                SpecVersion = Marshal.PtrToStringAnsi(specVersion),
-                DeviceId = Marshal.PtrToStringAnsi(deviceId),
-                DataModelVersion = Marshal.PtrToStringAnsi(dataModelVersion)
+                Name = (name != IntPtr.Zero) ? Marshal.PtrToStringAnsi(name) : string.Empty,
+                SpecVersion = (specVersion != IntPtr.Zero) ? Marshal.PtrToStringAnsi(specVersion) : string.Empty,
+                DeviceId = (deviceId != IntPtr.Zero) ? Marshal.PtrToStringAnsi(deviceId) : string.Empty,
+                DataModelVersion = (dataModelVersion != IntPtr.Zero) ? Marshal.PtrToStringAnsi(dataModelVersion) : string.Empty
             };
 
             return e;
index ca57ffc..77c5c71 100755 (executable)
@@ -805,9 +805,9 @@ namespace Tizen.Network.IoTConnectivity
                 Log.Error(IoTConnectivityErrorFactory.LogTag, "Failed to get device id");
                 throw IoTConnectivityErrorFactory.GetException(ret);
             }
-            DeviceId = Marshal.PtrToStringAnsi(deviceIdPtr);
-            HostAddress = Marshal.PtrToStringAnsi(hostAddressPtr);
-            UriPath = Marshal.PtrToStringAnsi(uriPathPtr);
+            DeviceId = (deviceIdPtr != IntPtr.Zero) ? Marshal.PtrToStringAnsi(deviceIdPtr) : string.Empty;
+            HostAddress = (hostAddressPtr != IntPtr.Zero) ? Marshal.PtrToStringAnsi(hostAddressPtr) : string.Empty;
+            UriPath = (uriPathPtr != IntPtr.Zero) ? Marshal.PtrToStringAnsi(uriPathPtr) : string.Empty;
             Types = new ResourceTypes(typesHandle);
             Interfaces = new ResourceInterfaces(interfacesHandle);
             Policy = (ResourcePolicy)policy;
index 81e6fbc..67a0eb2 100755 (executable)
@@ -105,7 +105,7 @@ namespace Tizen.Network.IoTConnectivity
                     Log.Error(IoTConnectivityErrorFactory.LogTag, "Failed to Get uri");
                     throw IoTConnectivityErrorFactory.GetException(ret);
                 }
-                return Marshal.PtrToStringAnsi(path);
+                return (path != IntPtr.Zero) ? Marshal.PtrToStringAnsi(path) : string.Empty;
             }
             set
             {
index f2dbb8d..39b189e 100755 (executable)
@@ -448,7 +448,7 @@ namespace Tizen.Network.IoTConnectivity
 
             return new Request()
             {
-                HostAddress = Marshal.PtrToStringAnsi(hostAddressPtr),
+                HostAddress = (hostAddressPtr != IntPtr.Zero) ? Marshal.PtrToStringAnsi(hostAddressPtr) : string.Empty,
                 Options = opts,
                 Query = query,
                 Representation = representation
index ecbc672..54153d0 100755 (executable)
@@ -106,7 +106,7 @@ namespace Tizen.Network.IoTConnectivity
                     Log.Error(IoTConnectivityErrorFactory.LogTag, "Failed to get type");
                     return "";
                 }
-                return Marshal.PtrToStringAnsi(type);
+                return (type != IntPtr.Zero) ? Marshal.PtrToStringAnsi(type) : string.Empty;
             }
             set
             {
@@ -146,7 +146,7 @@ namespace Tizen.Network.IoTConnectivity
                     Log.Error(IoTConnectivityErrorFactory.LogTag, "Failed to get interface");
                     return "";
                 }
-                return Marshal.PtrToStringAnsi(iface);
+                return (iface != IntPtr.Zero) ? Marshal.PtrToStringAnsi(iface) : string.Empty;
             }
             set
             {