提交 97185033 编写于 作者: D Daniel P. Berrange

Refactor shell escaping code

上级 eed1b177
Fri Oct 26 21:17:44 EST 2007 Daniel P. Berrange <berrange@redhat.com>
* src/qemu_driver.c: Refactor shell ecscaping function to reuse
for monitor escaping
Fri Oct 26 21:14:44 EST 2007 Daniel P. Berrange <berrange@redhat.com>
* src/qemu_conf.h, src/qemu_conf.c: Refactor device parsing code
......
......@@ -1912,7 +1912,7 @@ static int qemudDomainGetInfo(virDomainPtr dom,
}
static char *qemudEscapeShellArg(const char *in)
static char *qemudEscape(const char *in, int shell)
{
int len = 0;
int i, j;
......@@ -1934,7 +1934,10 @@ static char *qemudEscapeShellArg(const char *in)
len += 2;
break;
case '\'':
len += 5;
if (shell)
len += 5;
else
len += 1;
break;
default:
len += 1;
......@@ -1961,11 +1964,15 @@ static char *qemudEscapeShellArg(const char *in)
out[j++] = in[i];
break;
case '\'':
out[j++] = '\'';
out[j++] = '\\';
out[j++] = '\\';
out[j++] = '\'';
out[j++] = '\'';
if (shell) {
out[j++] = '\'';
out[j++] = '\\';
out[j++] = '\\';
out[j++] = '\'';
out[j++] = '\'';
} else {
out[j++] = in[i];
}
break;
default:
out[j++] = in[i];
......@@ -1977,6 +1984,10 @@ static char *qemudEscapeShellArg(const char *in)
return out;
}
static char *qemudEscapeShellArg(const char *in)
{
return qemudEscape(in, 1);
}
#define QEMUD_SAVE_MAGIC "LibvirtQemudSave"
#define QEMUD_SAVE_VERSION 1
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册