wwl: fixed dtinfo segfault due to missing copy constructor in WArgList
authoralx <alx@fastestcode.org>
Fri, 21 Feb 2014 14:29:15 +0000 (15:29 +0100)
committerJon Trulson <jon@radscan.com>
Sun, 23 Feb 2014 02:05:47 +0000 (19:05 -0700)
cde/programs/dtinfo/dtinfo/wwl/include/WWL/WArgList.h
cde/programs/dtinfo/dtinfo/wwl/src/WArgList.C

index 61beed9421da3f0e3ab06bf1517793b2d92f0992..93f7f3e53cbe11d0ae52a624005c0a76e98a42d8 100644 (file)
@@ -96,6 +96,8 @@ public :
       }
    }
 
+   WArgList(const WArgList &r);
+
    inline ArgList      Args() const    { return args; }
    inline Cardinal     NumArgs() const { return num_args; }
    inline void         Reset()         { num_args = 0; }
index 07d6583ee168b1de714d9d9867a2145f9d02e17b..363e7d82a00607eb6874191646de3053a8937550 100644 (file)
@@ -162,6 +162,14 @@ WArgList::WArgList (String name, XtArgVal value, ...)
        va_end (argv);
 }
 
+WArgList::WArgList(const WArgList &r)
+{
+       num_args = r.num_args;
+       alloc_args = num_args;
+       args = new Arg[num_args];
+       memcpy(args, r.args, sizeof(Arg)*num_args);
+}
+
 /*?nodoc?*/
 Arg&
 WArgList::Grow (Cardinal n)