From 354379041ad804673662b9fd45738fa1494deeb1 Mon Sep 17 00:00:00 2001
From: David Andrs <david.andrs@inl.gov>
Date: Wed, 7 Sep 2011 09:54:09 -0600
Subject: [PATCH] Fixing bug in writing zero-length vectors in XDA

---
 src/utils/xdr_cxx.C |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/utils/xdr_cxx.C b/src/utils/xdr_cxx.C
index 2eff988..8b979e2 100644
--- a/src/utils/xdr_cxx.C
+++ b/src/utils/xdr_cxx.C
@@ -464,9 +464,14 @@ template <typename T>
 bool xdr_translate(XDR* x, std::vector<T>& a) {
   unsigned int length = a.size();
   xdr_u_int(x, &length);
-  a.resize(length);
-  return xdr_vector(x, (char*) &a[0], length, sizeof(T),
-                    xdr_translator<T>());
+  if (length > 0)
+  {
+    a.resize(length);
+    return xdr_vector(x, (char*) &a[0], length, sizeof(T),
+                      xdr_translator<T>());
+  }
+  else
+    return true;
 }
 
 template <typename T>
-- 
1.6.5.1

