[mythtv-commits] Ticket #10371: mythcommandlineparser / mytharchivehelper fails on files with non-ascii-filenames

MythTV noreply at mythtv.org
Thu Feb 23 01:30:57 UTC 2012


#10371: mythcommandlineparser / mytharchivehelper fails on files with non-ascii-
filenames
---------------------------------+--------------------------------------
 Reporter:  t.brackertz@…        |           Type:  Bug Report - General
   Status:  new                  |       Priority:  minor
Milestone:  unknown              |      Component:  MythTV - General
  Version:  Unspecified          |       Severity:  medium
 Keywords:                       |  Ticket locked:  0
---------------------------------+--------------------------------------
 Since mytharchivehelper uses mythcommandlineparser it fails on files with
 non-ascii-characters in their filename.

 For example:

 {{{
 video at videobox:~$ mytharchivehelper --getfileinfo --infile
 "/video4/Videos_nicht_aus_myth/fertig/\"Arme Sau\" - Das Geschäft mit dem
 Erbgut_Phoenix_2006_am Anfang fehlt was.mpg" --outfile
 "/mythpuffer/mytharchive/work/2/streaminfo.xml" --method 0
 2012-02-23 02:10:37.187859 C  mytharchivehelper version: master
 [v0.25pre-4389-gdc9aff8] www.mythtv.org
 2012-02-23 02:10:37.187919 N  Enabled verbose msgs:  general jobqueue
 2012-02-23 02:10:37.187942 N  Setting Log Level to LOG_INFO
 2012-02-23 02:10:37.187993 I  Added logging to the console
 2012-02-23 02:10:37.187999 I  Added database logging to table logging
 2012-02-23 02:10:37.188064 N  Setting up SIGHUP handler
 2012-02-23 02:10:37.188247 N  Using runtime prefix = /usr
 2012-02-23 02:10:37.188285 N  Using configuration directory =
 /home/video/.mythtv
 2012-02-23 02:10:37.196982 E  Error parsing:
 /home/video/.mythtv/config.xml at line: 1  column: 1
 2012-02-23 02:10:37.196995 E  Error Msg: unexpected end of file
 2012-02-23 02:10:37.213277 N  Empty LocalHostName.
 2012-02-23 02:10:37.213289 I  Using localhost value of videobox
 2012-02-23 02:10:37.213385 E  Error parsing:
 /home/video/.mythtv/config.xml at line: 1  column: 1
 2012-02-23 02:10:37.213390 E  Error Msg: unexpected end of file
 2012-02-23 02:10:37.239179 I  Database connection created: DBManager0
 2012-02-23 02:10:37.239215 I  New DB connection, total: 1
 2012-02-23 02:10:37.241140 I  Connected to database 'mythconverg' at host:
 localhost
 2012-02-23 02:10:37.243256 I  Closing DB connection named 'DBManager0'
 2012-02-23 02:10:37.243364 I  Database connection created: DBManager1
 2012-02-23 02:10:37.243377 I  New DB connection, total: 1
 2012-02-23 02:10:37.243795 I  Connected to database 'mythconverg' at host:
 localhost
 2012-02-23 02:10:37.245368 I  Current locale DE_DE
 2012-02-23 02:10:37.245475 N  Reading locale defaults from
 /usr/share/mythtv//locales/de_de.xml
 2012-02-23 02:10:37.254605 I  getFileInfo(): Opening
 '/video4/Videos_nicht_aus_myth/fertig/"Arme Sau" - Das Geschäft mit dem
 Erbgut_Phoenix_2006_am Anfang fehlt was.mpg'
 2012-02-23 02:10:37.255003 E  getFileInfo(): Couldn't open input file
                         eno: Datei oder Verzeichnis nicht gefunden (2)
 2012-02-23 02:10:37.256981 I  Closing DB connection named 'DBManager1'

 }}}



 I tried to narrow down the reason with the following results:
 Looking at main.cpp of mytharchivehelper:
 - getFileInfo() hasn't changed so the new commandlineparsing in main() is
 probably in charge
 - here Mytharchivehelper seems to be correctly invoked
 Therefore I think there is a bug in mythcommandlineparser.cpp. I tried to
 locate it but failed so far, but:


 As you can see in the example above the character 'ä' gets replaced by the
 2 characters 'ä'. I think that looks as if an unicode-String (2 Bytes for
 'ä') gets treated as ascii (1 Byte per character). Maybe something like
 QString::fromLocal8bit() has been applied twice.

-- 
Ticket URL: <http://code.mythtv.org/trac/ticket/10371>
MythTV <http://code.mythtv.org/trac>
MythTV Media Center


More information about the mythtv-commits mailing list