Review Request 116604: Allow directories with . as output for meinproc

Luigi Toscano luigi.toscano at tiscali.it
Sat Mar 8 23:55:50 UTC 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/116604/
-----------------------------------------------------------

(Updated March 8, 2014, 11:55 p.m.)


Status
------

This change has been marked as submitted.


Review request for Documentation, KDE Frameworks, kdelibs, and Aleix Pol Gonzalez.


Bugs: 246755
    https://bugs.kde.org/show_bug.cgi?id=246755


Repository: kdoctools


Description
-------

The outputFile parameter is not used by the stylesheets, so don't pass it. If a directory starts with ".", it is interpreted in a wrong way by libxslt with an error like:
-------------------
XPath error : Invalid expression
/home/kde-devel/.cache5/khelpcenter/help/__home__kde-
devel__kde__share__doc__HTML__en__kioslave__file__index.docbook
                     ^
runtime error
Evaluating user parameter outputFile failed
-------------------
This is an old issue, it was "solved" on windows by not compiling that code, but I suspect that the issue has been in UNIX systems too for a long time.

Another way to solve the bug is quoting the value of the parameter with '...', replacing:
params.append(qstrdup(parser.value(QStringLiteral("output")).toLocal8Bit().constData()));

with something like
QString quotedOutput = "'" + parser.value(QStringLiteral("output")) + "'";
params.append(qstrdup(quotedOutput.toLocal8Bit().constData()));

but anyway in this case the name of output file is not used, or I can't find any occurrence in the stylesheets. 
The stylesheet is applied and the name of the file is used only after to write the generated XML (see tranform() function).

A similar patch can be applied to kdelibs/kdoctools too (same codepath).


Diffs
-----

  src/meinproc.cpp 95adcea 

Diff: https://git.reviewboard.kde.org/r/116604/diff/


Testing
-------

Run meinproc5 (and 4) with -o /something/with/a/.dotdir/myfile.txt (the directory must exist), no error anymore and the file is generated.


Thanks,

Luigi Toscano

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20140308/1604321c/attachment.html>


More information about the Kde-frameworks-devel mailing list