]> git.ipfire.org Git - thirdparty/open-vm-tools.git/commitdiff
String const-ness fixes.
authorVMware, Inc <>
Tue, 19 Oct 2010 19:15:08 +0000 (12:15 -0700)
committerMarcelo Vanzin <mvanzin@vmware.com>
Tue, 19 Oct 2010 19:15:08 +0000 (12:15 -0700)
Signed-off-by: Marcelo Vanzin <mvanzin@vmware.com>
open-vm-tools/lib/include/vmware/tools/guestrpc.h
open-vm-tools/lib/include/vmware/tools/plugin.h
open-vm-tools/lib/rpcChannel/bdoorChannel.c
open-vm-tools/lib/rpcChannel/rpcChannel.c
open-vm-tools/services/plugins/dndcp/copyPasteDnDWrapper.cpp
open-vm-tools/tests/vmrpcdbg/debugChannel.c

index 0b98c7600dd6088abe55164b6956fd5859e09463..a12767b5fe232641f4ce761adbb5b5d29e75c4ff 100644 (file)
@@ -41,8 +41,9 @@
 
 G_BEGIN_DECLS
 
-/** Alias for RpcChannel_SetRetVals. */
-#define RPCIN_SETRETVALS RpcChannel_SetRetVals
+/** Aliases. */
+#define RPCIN_SETRETVALS  RpcChannel_SetRetVals
+#define RPCIN_SETRETVALSF RpcChannel_SetRetValsF
 
 struct RpcChannel;
 
@@ -112,7 +113,7 @@ typedef gboolean (*RpcChannelStartFn)(struct RpcChannel *);
 typedef void (*RpcChannelStopFn)(struct RpcChannel *);
 typedef void (*RpcChannelShutdownFn)(struct RpcChannel *);
 typedef gboolean (*RpcChannelSendFn)(struct RpcChannel *,
-                                     char *data,
+                                     char const *data,
                                      size_t dataLen,
                                      char **result,
                                      size_t *resultLen);
@@ -193,7 +194,7 @@ RpcChannel_Stop(RpcChannel *chan)
 
 G_INLINE_FUNC gboolean
 RpcChannel_Send(RpcChannel *chan,
-                char *data,
+                char const *data,
                 size_t dataLen,
                 char **result,
                 size_t *resultLen)
@@ -234,9 +235,14 @@ RpcChannel_RegisterCallback(RpcChannel *chan,
 
 gboolean
 RpcChannel_SetRetVals(RpcInData *data,
-                      char *result,
+                      char const *result,
                       gboolean retVal);
 
+gboolean
+RpcChannel_SetRetValsF(RpcInData *data,
+                       char *result,
+                       gboolean retVal);
+
 void
 RpcChannel_UnregisterCallback(RpcChannel *chan,
                               RpcChannelCallback *rpc);
index cf8e319aa37239e86c262e90a0dbbf3ced654f67..d75d73d7028f1b09c2246499aa840fdcb1c42ce4 100644 (file)
@@ -414,7 +414,7 @@ typedef struct ToolsPluginSignalCb {
  */
 typedef struct ToolsPluginData {
    /** Name of the application (required). */
-   char                      *name;
+   char const                *name;
    /**
     * List of features provided by the app. Registration of applications
     * happens in the same order provided by this array.
index b9f3b154e8bdeb0f88cdb33ef7af848935264f16..dcbd3d50dd4c7f7441f4a45c5c4434533db8074c 100644 (file)
@@ -173,7 +173,7 @@ RpcInShutdown(RpcChannel *chan)
 
 static gboolean
 RpcInSend(RpcChannel *chan,
-          char *data,
+          char const *data,
           size_t dataLen,
           char **result,
           size_t *resultLen)
index 1f1c6c779a65cdcc704f11257283f5f037ee235f..aa0e252d71692b41f6b0fcacf5eace5deebfa359 100644 (file)
@@ -174,8 +174,7 @@ RpcChannelReset(RpcInData *data)
 
    msg = Str_Asprintf(NULL, "ATR %s", chan->appName);
    ASSERT_MEM_ALLOC(msg);
-   data->freeResult = TRUE;
-   return RPCIN_SETRETVALS(data, msg, TRUE);
+   return RPCIN_SETRETVALSF(data, msg, TRUE);
 }
 
 
@@ -518,8 +517,8 @@ RpcChannel_Setup(RpcChannel *chan,
 
 
 /**
- * Sets the result of the given RPC context to the given value. The result
- * should be a NULL-terminated string.
+ * Sets the non-freeable result of the given RPC context to the given value.
+ * The result should be a NULL-terminated string.
  *
  * @param[in] data     RPC context.
  * @param[in] result   Result string.
@@ -530,13 +529,41 @@ RpcChannel_Setup(RpcChannel *chan,
 
 gboolean
 RpcChannel_SetRetVals(RpcInData *data,
-                      char *result,
+                      char const *result,
                       gboolean retVal)
 {
    ASSERT(data);
 
+   /* This cast is safe: data->result will not be freed. */
+   data->result = (char *)result;
+   data->resultLen = strlen(data->result);
+   data->freeResult = FALSE;
+
+   return retVal;
+}
+
+
+/**
+ * Sets the freeable result of the given RPC context to the given value.
+ * The result should be a NULL-terminated string.
+ *
+ * @param[in] data     RPC context.
+ * @param[in] result   Result string.
+ * @param[in] retVal   Return value of this function.
+ *
+ * @return @a retVal
+ */
+
+gboolean
+RpcChannel_SetRetValsF(RpcInData *data,
+                       char *result,
+                       gboolean retVal)
+{
+   ASSERT(data);
+
    data->result = result;
    data->resultLen = strlen(data->result);
+   data->freeResult = TRUE;
 
    return retVal;
 }
index a8bc97bd68b578a946f774d49c423c5dbddc76d5..a8955af153a537d9c3644f10ba320598122c8a29 100644 (file)
@@ -516,7 +516,7 @@ CopyPasteDnDWrapper::OnCapReg(gboolean set)
    g_debug("%s: enter\n", __FUNCTION__);
    char *reply;
    size_t replyLen;
-   char *toolsDnDVersion = TOOLS_DND_VERSION_3;
+   char const *toolsDnDVersion = TOOLS_DND_VERSION_3;
    char *toolsCopyPasteVersion = NULL;
    int version;
 
@@ -532,7 +532,8 @@ CopyPasteDnDWrapper::OnCapReg(gboolean set)
          version = 1;
          SetDnDVersion(version);
       } else {
-         char *vmxDnDVersion = QUERY_VMX_DND_VERSION;
+         char const *vmxDnDVersion = QUERY_VMX_DND_VERSION;
+
          if (!RpcChannel_Send(ctx->rpc, vmxDnDVersion,
                               strlen(vmxDnDVersion), &reply, &replyLen)) {
             g_debug("%s: could not get VMX dnd version capability, assuming v1\n",
@@ -561,7 +562,8 @@ CopyPasteDnDWrapper::OnCapReg(gboolean set)
          version = 1;
          SetCPVersion(version);
       } else {
-         char *vmxCopyPasteVersion = QUERY_VMX_COPYPASTE_VERSION;
+         char const *vmxCopyPasteVersion = QUERY_VMX_COPYPASTE_VERSION;
+
          if (!RpcChannel_Send(ctx->rpc, vmxCopyPasteVersion,
                               strlen(vmxCopyPasteVersion), &reply, &replyLen)) {
             g_debug("%s: could not get VMX copypaste version capability, assuming v1\n",
index 3251dfe43439bc9197933a86900e87b64a03e877..b8e0e008a16fef320f8ae48031a168529c1a06dc 100644 (file)
@@ -173,7 +173,7 @@ RpcDebugStop(RpcChannel *chan)
 
 static gboolean
 RpcDebugSend(RpcChannel *chan,
-             char *data,
+             char const *data,
              size_t dataLen,
              char **result,
              size_t *resultLen)