Fix issue with queue compiler.

This was stopping it from accepting queues with empty messages.

(This was formerly a part of I3d012fb8a9652c0b85ed27f5d23fe7d63bb977ce.)

Change-Id: I233f0005a5a916f22a15e81393582df95165150d
diff --git a/aos/build/queues/output/message_dec.rb b/aos/build/queues/output/message_dec.rb
index 36300ea..a65aca3 100644
--- a/aos/build/queues/output/message_dec.rb
+++ b/aos/build/queues/output/message_dec.rb
@@ -31,6 +31,9 @@
 		member_func.suite << CPP::Return.new("&kMsgMessageType")
 	end
         def create_InOrderConstructor(type_class, cpp_tree)
+          if @members.empty?
+            return
+          end
           cons = CPP::Constructor.new(type_class)
           type_class.add_member(cons)
           @members.each do |member|
@@ -151,7 +154,12 @@
     member_func.suite << "size_t super_size = ::aos::Message::Print(buffer, length)"
     member_func.suite << "buffer += super_size"
     member_func.suite << "length -= super_size"
-    member_func.suite << "return super_size + snprintf(buffer, length, " + ([format] + args).join(", ") + ")";
+    if !args.empty?
+      member_func.suite << "return super_size + snprintf(buffer, length, " + ([format] + args).join(", ") + ")";
+    else
+      # snprintf will return zero.
+      member_func.suite << "return super_size"
+    end
 	end
 	def create_GetType(type_class, cpp_tree)
 		member_func = CPP::MemberFunc.new(type_class,"const ::aos::MessageType*","GetType")