Fix bug in generated code for functions with inband data
from pointers.  Passing zero length data would desync
return command stream.

Change-Id: I273a6a44636a203d8305ddff3d6607eae9f9ec8a
diff --git a/rsg_generator.c b/rsg_generator.c
index 7a90597..385c8b5 100644
--- a/rsg_generator.c
+++ b/rsg_generator.c
@@ -465,7 +465,14 @@
         fprintf(f, ");\n");
 
         if (hasInlineDataPointers(api)) {
-            fprintf(f, "    if (cmdSizeBytes == sizeof(RS_CMD_%s)) {\n", api->name);
+            fprintf(f, "    size_t totalSize = 0;\n");
+            for (ct2=0; ct2 < api->paramCount; ct2++) {
+                if (api->params[ct2].ptrLevel) {
+                    fprintf(f, "    totalSize += cmd->%s_length;\n", api->params[ct2].name);
+                }
+            }
+
+            fprintf(f, "    if ((totalSize != 0) && (cmdSizeBytes == sizeof(RS_CMD_%s))) {\n", api->name);
             fprintf(f, "        con->mIO.coreSetReturn(NULL, 0);\n");
             fprintf(f, "    }\n");
         } else if (api->ret.typeName[0]) {