| Summary: | konsole command line parsing in profile broken (number of unquoted spaces is not ignored) | ||
|---|---|---|---|
| Product: | [Applications] konsole | Reporter: | Achim Bohnet <ach> |
| Component: | general | Assignee: | Konsole Bugs <konsole-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | 2.2.1 | ||
| Target Milestone: | --- | ||
| Platform: | unspecified | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: |
test script
test okay profile test autsch profile, that has several spaces in the command line field |
||
Created attachment 32425 [details]
test script
Created attachment 32426 [details]
test okay profile
Created attachment 32427 [details]
test autsch profile, that has several spaces in the command line field
I have a patch for this. Let me test it some more. ShellCommand::ShellCommand() _arguments = KShell::splitArgs(fullCommand); SVN commit 992625 by hindenburg: Correct (and simplify) command parsing in profiles with respect to spaces. BUG: 188230 M +2 -25 ShellCommand.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=992625 |
Version: 2.2.1 (using 4.2.1 (KDE 4.2.1), Kubuntu packages) Compiler: cc OS: Linux (x86_64) release 2.6.28-11-generic To reproduce: test script that prints it's command line arguments: $ cat /usr/local/bin/listargs #!/bin/bash echo -n args: for a; do echo -n " <$1>" shift done echo read and my two test profile that differ in the number of unquoted spaces in the command line of the profile: diff -u .kde/share/apps/konsole/test* --- .kde/share/apps/konsole/test autsch.profile 2009-03-27 08:53:28.000000000 +0100 +++ .kde/share/apps/konsole/test okay.profile 2009-03-27 08:52:54.000000000 +0100 @@ -3,8 +3,8 @@ Font=DejaVu Sans Mon,10,-1,2,50,0,0,0,0,0 [General] -Command=listargs foo bar "bla bla" -Name=test autsch +Command=listargs foo bar "bla bla" +Name=test okay Parent=FALLBACK/ RemoteTabTitleFormat=%h : %u ShowNewAndCloseTabButtons=true Output of profile 'test okay' in konsole: args: <foo> <bar> <bla bla> Output of profile 'test autsch' in konsole: args: <> <foo> <> <bar> <> <> <bla bla> That's IMHO a bug 'test autsch' should give the same result as 'test okay'. Shells always split on word boundries and never cared about more than one unquoted white space. No. of spaces in command line field is hard to spot for the user. Achim