diff options
author | James Cammarata <jimi@sngx.net> | 2014-09-11 16:27:10 -0500 |
---|---|---|
committer | James Cammarata <jimi@sngx.net> | 2014-09-11 16:27:48 -0500 |
commit | ab5e8201f487023dc6f02a43ae522d76300f8e86 (patch) | |
tree | 229e258c1e524bc1dc0b0b848a0d85047dce880a /files | |
parent | 732b6f0a2381b6b0810b9f01ff87918b31563fd2 (diff) | |
download | ansible-modules-extras-ab5e8201f487023dc6f02a43ae522d76300f8e86.tar.gz |
Fix quoting issues in lineinfile for individual single-quotes
Fixes #8806
Diffstat (limited to 'files')
-rw-r--r-- | files/lineinfile | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/files/lineinfile b/files/lineinfile index ba842e15..12f8dc89 100644 --- a/files/lineinfile +++ b/files/lineinfile @@ -369,14 +369,19 @@ def main(): # so we need to know if we should specifically unquote it. should_unquote = not is_quoted(line) + # always add one layer of quotes + line = "'%s'" % line + # Replace escape sequences like '\n' while being sure # not to replace octal escape sequences (\ooo) since they # match the backref syntax. if backrefs: line = re.sub(r'(\\[0-9]{1,3})', r'\\\1', line) - line = module.safe_eval(pipes.quote(line)) + line = module.safe_eval(line) - # Now remove quotes around the string, if needed + # Now remove quotes around the string, if needed after + # removing the layer we added above + line = unquote(line) if should_unquote: line = unquote(line) |