Author: lslezak Date: Wed Jul 16 13:01:16 2008 New Revision: 49149 URL: http://svn.opensuse.org/viewcvs/yast?rev=49149&view=rev Log: - do not parse empty string to YCPCode Modified: branches/tmp/lslezak/workshop/core/scr/src/DBusMsg.cc Modified: branches/tmp/lslezak/workshop/core/scr/src/DBusMsg.cc URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/lslezak/workshop/core/scr/src/DBusMsg.cc?rev=49149&r1=49148&r2=49149&view=diff ============================================================================== --- branches/tmp/lslezak/workshop/core/scr/src/DBusMsg.cc (original) +++ branches/tmp/lslezak/workshop/core/scr/src/DBusMsg.cc Wed Jul 16 13:01:16 2008 @@ -471,30 +471,39 @@ ret = YCPPath(s); else if (std::string(ycp_type, 0, block_prefix_len) == block_prefix) { - y2internal("Found YCP block"); - // parse the string, recreate the YCPBlock again - Parser parser(s); - parser.setBuffered(); - YCodePtr p = parser.parse(); - YCPValue contents = YCPNull (); - - if (!p) + y2milestone("Found YCP block"); + + if (s == NULL || *s == '\0') { - y2error("Parse error in YCP code: %s", s); + y2warning("The code block is empty"); + ret = YCPVoid(); } else { - if (p->isBlock ()) + // parse the string, recreate the YCPBlock again + Parser parser(s); + parser.setBuffered(); + YCodePtr p = parser.parse(); + YCPValue contents = YCPNull (); + + if (!p) { - contents = YCPCode (p); + y2error("Parse error in YCP code: %s", s); } else { - contents = p->evaluate (true); + if (p->isBlock ()) + { + contents = YCPCode (p); + } + else + { + contents = p->evaluate (true); + } } - } - ret = !contents.isNull() ? contents : YCPVoid(); + ret = !contents.isNull() ? contents : YCPVoid(); + } } else { -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org