Hello community, here is the log from the commit of package yast2-core for openSUSE:Factory checked in at 2016-11-11 14:30:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2-core (Old) and /work/SRC/openSUSE:Factory/.yast2-core.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "yast2-core" Changes: -------- --- /work/SRC/openSUSE:Factory/yast2-core/yast2-core.changes 2016-09-27 13:42:01.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.yast2-core.new/yast2-core.changes 2016-11-11 14:30:49.000000000 +0100 @@ -1,0 +2,6 @@ +Mon Nov 7 12:51:20 UTC 2016 - jreidinger@suse.com +- ag_anyangent: Do not fail the parse when an Optional syntax meets + EOF, e.g. for a fstab without a trailing newline (bsc#429326#c11) +- 3.2.0 + +------------------------------------------------------------------- Old: ---- yast2-core-3.1.24.tar.bz2 New: ---- yast2-core-3.2.0.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-core.spec ++++++ --- /var/tmp/diff_new_pack.P2dePU/_old 2016-11-11 14:30:50.000000000 +0100 +++ /var/tmp/diff_new_pack.P2dePU/_new 2016-11-11 14:30:50.000000000 +0100 @@ -27,7 +27,7 @@ %bcond_with werror Name: yast2-core -Version: 3.1.24 +Version: 3.2.0 Release: 0 Url: https://github.com/yast/yast-core ++++++ yast2-core-3.1.24.tar.bz2 -> yast2-core-3.2.0.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-core-3.1.24/agent-any/src/AnyAgentComplex.cc new/yast2-core-3.2.0/agent-any/src/AnyAgentComplex.cc --- old/yast2-core-3.1.24/agent-any/src/AnyAgentComplex.cc 2016-09-20 15:45:50.000000000 +0200 +++ new/yast2-core-3.2.0/agent-any/src/AnyAgentComplex.cc 2016-11-09 18:07:45.000000000 +0100 @@ -425,16 +425,32 @@ // parseData // toplevel parsing function - +// @return YCPNull if parsing failed like invalid syntax or EOF when some data +// needed. It returns YCPVoid if element is optional and not presented or just +// unwinding data like Var or Skip or if Or failed to match any of its +// elements. Otherwise it returns parsed data according to syntax parameter. YCPValue AnyAgent::parseData (char const *&line, const YCPValue & syntax, bool optional) { + if (syntax.isNull ()) + return YCPNull (); if ((line == 0) || (*line == 0)) line = getLine (); if (line == 0) + { + // If the syntax being parsed does not need any string, then EOF is in fact OK + if (syntax->valuetype() == YT_TERM) + { + YCPTerm term = syntax->asTerm (); + const string s = term->name (); + if (s == "Optional" || s == "Skip") + return YCPVoid (); + else if (s == "Match") + return currentMatch; + } + return YCPNull (); - if (syntax.isNull ()) - return YCPNull (); + } y2debug ("parseData %s('%s',[%s])", (optional ? "?" : "!"), line, syntax->toString ().c_str ()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-core-3.1.24/agent-ini/src/IniParser.cc new/yast2-core-3.2.0/agent-ini/src/IniParser.cc --- old/yast2-core-3.1.24/agent-ini/src/IniParser.cc 2016-09-20 15:45:50.000000000 +0200 +++ new/yast2-core-3.2.0/agent-ini/src/IniParser.cc 2016-11-09 18:07:45.000000000 +0100 @@ -1037,7 +1037,6 @@ va_start( ap, format ); int numprinted = vasprintf(&buf, format, ap); va_end( ap ); - if (numprinted >= 0) { val = buf; free( buf ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-core-3.1.24/agent-ini/testsuite/multi/private.in.2 new/yast2-core-3.2.0/agent-ini/testsuite/multi/private.in.2 --- old/yast2-core-3.1.24/agent-ini/testsuite/multi/private.in.2 2016-09-20 15:45:50.000000000 +0200 +++ new/yast2-core-3.2.0/agent-ini/testsuite/multi/private.in.2 2016-11-09 18:07:45.000000000 +0100 @@ -0,0 +1 @@ + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-core-3.1.24/package/yast2-core.changes new/yast2-core-3.2.0/package/yast2-core.changes --- old/yast2-core-3.1.24/package/yast2-core.changes 2016-09-20 15:45:51.000000000 +0200 +++ new/yast2-core-3.2.0/package/yast2-core.changes 2016-11-09 18:07:45.000000000 +0100 @@ -1,4 +1,10 @@ ------------------------------------------------------------------- +Mon Nov 7 12:51:20 UTC 2016 - jreidinger@suse.com +- ag_anyangent: Do not fail the parse when an Optional syntax meets + EOF, e.g. for a fstab without a trailing newline (bsc#429326#c11) +- 3.2.0 + +------------------------------------------------------------------- Tue Sep 20 13:33:01 UTC 2016 - jreidinger@suse.com - disable doc generation (FATE#320356) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-core-3.1.24/package/yast2-core.spec new/yast2-core-3.2.0/package/yast2-core.spec --- old/yast2-core-3.1.24/package/yast2-core.spec 2016-09-20 15:45:51.000000000 +0200 +++ new/yast2-core-3.2.0/package/yast2-core.spec 2016-11-09 18:07:45.000000000 +0100 @@ -26,7 +26,7 @@ %bcond_with werror Name: yast2-core -Version: 3.1.24 +Version: 3.2.0 Release: 0 Url: https://github.com/yast/yast-core