]> git.cworth.org Git - apitrace/commitdiff
Unify Call::Signature into FunctionSig.
authorJosé Fonseca <jose.r.fonseca@gmail.com>
Sat, 28 May 2011 12:10:13 +0000 (13:10 +0100)
committerJosé Fonseca <jose.r.fonseca@gmail.com>
Sat, 28 May 2011 12:10:13 +0000 (13:10 +0100)
gui/apitracecall.cpp
gui/saverthread.cpp
trace_model.hpp
trace_parser.cpp
trace_parser.hpp
trace_writer.cpp
trace_writer.hpp

index 8161ba9a2db6d142c7e0bcfde4b91c64e41f169e..9046a855804c0998bc1a55beed8f795dcc5908aa 100644 (file)
@@ -733,7 +733,7 @@ ApiTraceCall::ApiTraceCall(const Trace::Call *call)
     m_index = call->no;
 
     QString argumentsText;
-    for (int i = 0; i < call->sig->arg_names.size(); ++i) {
+    for (int i = 0; i < call->sig->num_args; ++i) {
         m_argNames +=
             QString::fromStdString(call->sig->arg_names[i]);
     }
index 1645279bd35adf51b5296bcded3784dfd09f37d9..0c4bd70c626fb2be9c3074ee5be7674bdd6f0d57 100644 (file)
@@ -19,9 +19,9 @@ createFunctionSig(ApiTraceCall *call, unsigned id)
 
     QStringList args = call->argNames();
     sig->num_args = args.count();
-    sig->args = new const char*[args.count()];
+    sig->arg_names = new const char*[args.count()];
     for (int i = 0; i < args.count(); ++i) {
-        sig->args[i] = qstrdup(args[i].toLocal8Bit());
+        sig->arg_names[i] = qstrdup(args[i].toLocal8Bit());
     }
 
     return sig;
@@ -31,9 +31,9 @@ static void
 deleteFunctionSig(Trace::FunctionSig *sig)
 {
     for (int i = 0; i < sig->num_args; ++i) {
-        delete [] sig->args[i];
+        delete [] sig->arg_names[i];
     }
-    delete [] sig->args;
+    delete [] sig->arg_names;
     delete [] sig->name;
     delete sig;
 }
index 05d809ee69eabdd846544a92074517f5cde7d4f8..03a23894cc41f8fce08f50575752e6e905160075 100644 (file)
@@ -275,17 +275,12 @@ std::ostream & operator <<(std::ostream &os, Value *value);
 class Call
 {
 public:
-    struct Signature {
-        const char * name;
-        std::vector<const char *> arg_names;
-    };
-
     unsigned no;
-    const Signature *sig;
+    const FunctionSig *sig;
     std::vector<Value *> args;
     Value *ret;
 
-    Call(Signature *_sig) : sig(_sig), args(_sig->arg_names.size()), ret(0) { }
+    Call(FunctionSig *_sig) : sig(_sig), args(_sig->num_args), ret(0) { }
     ~Call();
 
     inline const char * name(void) const {
index a9f9e78f5647f60ec2f726b3fd5ef4f4fe33691a..da9d8a487c4ccefa1dfdf9c66db86509df528b08 100644 (file)
@@ -137,14 +137,16 @@ T *lookup(std::vector<T *> &map, size_t index) {
 void Parser::parse_enter(void) {
     size_t id = read_uint();
 
-    Call::Signature *sig = lookup(functions, id);
+    FunctionSig *sig = lookup(functions, id);
     if (!sig) {
-        sig = new Call::Signature;
+        sig = new FunctionSig;
         sig->name = read_string();
-        unsigned size = read_uint();
-        for (unsigned i = 0; i < size; ++i) {
-            sig->arg_names.push_back(read_string());
+        sig->num_args = read_uint();
+        const char **arg_names = new const char *[sig->num_args];
+        for (unsigned i = 0; i < sig->num_args; ++i) {
+            arg_names[i] = read_string();
         }
+        sig->arg_names = arg_names;
         functions[id] = sig;
     }
     assert(sig);
index 20c3a756e2c62c91463220e2506fa5dd800274c4..0a0105138bb6e144787670dc04ab0e44705eb704 100644 (file)
@@ -45,7 +45,7 @@ protected:
     typedef std::list<Call *> CallList;
     CallList calls;
 
-    typedef std::vector<Call::Signature *> FunctionMap;
+    typedef std::vector<FunctionSig *> FunctionMap;
     FunctionMap functions;
 
     typedef std::vector<StructSig *> StructMap;
index 24d92fd816a67ea393f719ef2e615fcbc1402832..d07fdf91799411cbcd9211d82e0d4cf471aff515 100644 (file)
@@ -194,7 +194,7 @@ unsigned Writer::beginEnter(const FunctionSig &function) {
         _writeString(function.name);
         _writeUInt(function.num_args);
         for (unsigned i = 0; i < function.num_args; ++i) {
-            _writeString(function.args[i]);
+            _writeString(function.arg_names[i]);
         }
         functions[function.id] = true;
     }
index af7f468726e9fb941d1dc08ff7e236ab1a22f285..765d00623a420ff2b755e915530a1f538a7db0ce 100644 (file)
@@ -42,7 +42,7 @@ namespace Trace {
         Id id;
         const char *name;
         unsigned num_args;
-        const char **args;
+        const char **arg_names;
     };
 
     struct StructSig {