aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Jan Kanis <jan.code@jankanis.nl>2013-01-14 01:33:40 +0100
committerGravatar Jan Kanis <jan.code@jankanis.nl>2013-01-14 01:38:05 +0100
commit640beafa8c1d7fa85892d2f5bf858c9325cf4326 (patch)
tree8077dd13801def4d511fb227bc555ce8bc8c1fcd
parent44f70d2b5219c421ebe1cfaf90b07752a29360fb (diff)
fix a memory leak in profiling, add a profiling test
-rw-r--r--parser.cpp2
-rwxr-xr-xtests/test.fish6
2 files changed, 7 insertions, 1 deletions
diff --git a/parser.cpp b/parser.cpp
index 7b762c69..a4a53fba 100644
--- a/parser.cpp
+++ b/parser.cpp
@@ -2460,7 +2460,7 @@ void parser_t::eval_job(tokenizer_t *tok)
if (do_profile)
{
t2 = get_time();
- profile_item->cmd = wcsdup(j->command_wcstr());
+ profile_item->cmd = j->command();
profile_item->skipped=current_block->skip;
}
diff --git a/tests/test.fish b/tests/test.fish
index 610c966e..6d2ce42c 100755
--- a/tests/test.fish
+++ b/tests/test.fish
@@ -32,6 +32,12 @@ if [ "$argv" != '-n' ]
echo Exit status differs for file test.fish
end
+ ../fish -p /dev/null -c 'echo testing' >/dev/null
+ if test $status -ne 0
+ set res fail
+ echo Profiling fails
+ end
+
if test $res = ok;
echo File test.fish tested ok
else