Bug 24251 - False positive "Unterminated quoted string" error
: False positive "Unterminated quoted string" error
Status: NEW
: Sisyphus
(All bugs in Sisyphus/checkbashisms)
: unstable
: all Linux
: P3 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2010-10-09 15:58 by
Modified: 2010-10-12 20:10 (History)


Attachments
checkbashisms fails on this script (49 bytes, application/octet-stream)
2010-10-12 20:06, Sergey Kurakin
no flags Details
checkbashisms processes this script successfully (49 bytes, application/octet-stream)
2010-10-12 20:08, Sergey Kurakin
no flags Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2010-10-09 15:58:25
Скрипт i2myspell из одноименного пакета:

$ checkbashisms /usr/bin/i2myspell
possible bashism in /usr/bin/i2myspell line 61 ([^] should be [!]):
s/\([^ ]*\).>.\([^,]*\)$/0 \2 \1/
possible bashism in /usr/bin/i2myspell line 62 ([^] should be [!]):
s/\([^ ]*\).>.-\([^,]*\),\(\-\)$/\2 0 \1/
possible bashism in /usr/bin/i2myspell line 63 ([^] should be [!]):
s/\([^ ]*\).>.-\([^,]*\),\(.*\)$/\2 \3 \1/' |
error: /usr/bin/i2myspell: Unterminated quoted string found, EOF reached.
Wanted: <'>

Удалось выяснить, что ошибка с определением закрывающей кавычки происходит на
строке 46 проверяемого скрипта, а всё остальное -- это уже последствия.

Ошибочно распознаваемая конструкция выглядит так:

sed 's#/# #g
s# #/#'

Запись конструкции в одну строку (sed 's#/# #g;s# #/#') проблемы не решает.
Зато проблема решается заменой "#" на любой другой разделитель. Причем,
достаточно заменить "#" только во втором шаблоне:

sed 's#/# #g
s| |/|'

Такая конструкция проблем не вызывает и проверяется успешно.
------- Comment #1 From 2010-10-12 17:38:19 -------
Если вы оформите предложение по исправлению checkbashisms в виде патча сюда
и/или в mainstream, то я смогу его применить в новой сборке пакета.
------- Comment #2 From 2010-10-12 20:06:41 -------
Created an attachment (id=4607) [details]
checkbashisms fails on this script
------- Comment #3 From 2010-10-12 20:08:32 -------
Created an attachment (id=4608) [details]
checkbashisms processes this script successfully
------- Comment #4 From 2010-10-12 20:10:13 -------
Был бы патч -- не было бы вопросов. Пока могу предоставить только testcase.