From ef9683b73f8980fb7cfa39166670d3998b092804 Mon Sep 17 00:00:00 2001 From: Eli Bendersky Date: Sat, 18 May 2013 07:52:34 -0700 Subject: Issue #17989: element_setattro returned incorrect error value. This caused an exception to be raised later than expected. --- Modules/_elementtree.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Modules/_elementtree.c b/Modules/_elementtree.c index 86fdd2f..9caef99 100644 --- a/Modules/_elementtree.c +++ b/Modules/_elementtree.c @@ -1808,17 +1808,16 @@ element_getattro(ElementObject* self, PyObject* nameobj) return res; } -static PyObject* +static int element_setattro(ElementObject* self, PyObject* nameobj, PyObject* value) { char *name = ""; if (PyUnicode_Check(nameobj)) name = _PyUnicode_AsString(nameobj); - if (name == NULL) - return NULL; - - if (strcmp(name, "tag") == 0) { + if (name == NULL) { + return -1; + } else if (strcmp(name, "tag") == 0) { Py_DECREF(self->tag); self->tag = value; Py_INCREF(self->tag); @@ -1837,11 +1836,12 @@ element_setattro(ElementObject* self, PyObject* nameobj, PyObject* value) self->extra->attrib = value; Py_INCREF(self->extra->attrib); } else { - PyErr_SetString(PyExc_AttributeError, name); - return NULL; + PyErr_SetString(PyExc_AttributeError, + "Can't set arbitraty attributes on Element"); + return -1; } - return NULL; + return 0; } static PySequenceMethods element_as_sequence = { -- cgit v0.12 orm application framework that is used for developing application software that can be run on various software and hardware platforms with little or no change in the underlying codebase, while still being a native application with native capabilities and speed.
summaryrefslogtreecommitdiffstats
path: root/doc/src/snippets/code/tools_patternist_qapplicationargumentparser.cpp
blob: 1a907aa51ed33aff01250676df487f6d811456df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
** This file contains pre-release code and may not be distributed.
** You may use this file in accordance with the terms and conditions
** contained in the Technology Preview License Agreement accompanying
** this package.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file.  Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain
** additional rights.  These rights are described in the Nokia Qt LGPL
** Exception version 1.1, included in the file LGPL_EXCEPTION.txt in this
** package.
**
** If you have questions regarding the use of this file, please contact
** Nokia at qt-info@nokia.com.
**
**
**
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/

//! [0]
 \include main.cpp
//! [0]