# HG changeset patch
# User Kirill Simonov <xi@resolvent.net>
# Date 1417197312 21600
# Node ID 2b9156756423e967cfd09a61d125d883fca6f4f2
# Parent  053f53a381ff6adbbc93a31ab7fdee06a16c8a33
Removed invalid simple key assertion (thank to Jonathan Gray).

The patch comes from 

https://bitbucket.org/xi/libyaml/commits/2b9156756423e967cfd09a61d125d883fca6f4f2

Upstream-Status: Backport

Signed-off-by: Yue Tao <yue.tao@windriver.com>

diff -r 053f53a381ff -r 2b9156756423 src/scanner.c
--- a/src/scanner.c	Wed Mar 26 13:55:54 2014 -0500
+++ b/src/scanner.c	Fri Nov 28 11:55:12 2014 -0600
@@ -1106,13 +1106,6 @@
             && parser->indent == (ptrdiff_t)parser->mark.column);
 
     /*
-     * A simple key is required only when it is the first token in the current
-     * line.  Therefore it is always allowed.  But we add a check anyway.
-     */
-
-    assert(parser->simple_key_allowed || !required);    /* Impossible. */
-
-    /*
      * If the current position may start a simple key, save it.
      */
 
