diff options
author | Frank Ch. Eigler <fche@elastic.org> | 2007-11-30 18:55:43 -0500 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2007-11-30 18:55:43 -0500 |
commit | be01a078db770c236308d8375f96ebb6076a93a1 (patch) | |
tree | 658c53e02897b352cddd4c3a7ad9ab576fa8286e /tapsets.cxx | |
parent | 80237db77374679171ac68f22cab0aee8c9b3d12 (diff) | |
parent | 44386f7789fbbb0b144c84847f35da6b10215af0 (diff) | |
download | systemtap-steved-be01a078db770c236308d8375f96ebb6076a93a1.tar.gz systemtap-steved-be01a078db770c236308d8375f96ebb6076a93a1.tar.xz systemtap-steved-be01a078db770c236308d8375f96ebb6076a93a1.zip |
Merge branch 'master' of git://sources.redhat.com/git/systemtap
Diffstat (limited to 'tapsets.cxx')
-rw-r--r-- | tapsets.cxx | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/tapsets.cxx b/tapsets.cxx index 3b992d4d..35fe1e4b 100644 --- a/tapsets.cxx +++ b/tapsets.cxx @@ -5290,6 +5290,7 @@ mark_derived_probe::initialize_probe_context_vars (translator_output* o) if (! target_symbol_seen) return; + bool deref_fault_needed = false; for (unsigned i = 0; i < mark_args.size(); i++) { string localname = "l->__mark_arg" + lex_cast<string>(i+1); @@ -5307,9 +5308,8 @@ mark_derived_probe::initialize_probe_context_vars (translator_output* o) << " tmp_str = va_arg(*c->mark_va_list, " << mark_args[i]->c_type << ");"; o->newline() << "deref_string (" << localname - << ", tmp_str, MAXSTRINGLEN);"; - // Need to report errors? - o->newline() << "deref_fault: ; }"; + << ", tmp_str, MAXSTRINGLEN); }"; + deref_fault_needed = true; break; default: @@ -5317,6 +5317,9 @@ mark_derived_probe::initialize_probe_context_vars (translator_output* o) break; } } + if (deref_fault_needed) + // Need to report errors? + o->newline() << "deref_fault: ;"; } |