Skip to content

Commit bde09d9

Browse files
committed
Revert parse_mode_and_context change
1 parent b00dd66 commit bde09d9

File tree

1 file changed

+26
-26
lines changed

1 file changed

+26
-26
lines changed

atom/src/member.cpp

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -454,18 +454,18 @@ Member_set_index( Member* self, PyObject* value )
454454
}
455455

456456

457-
// Returns borrowed reference to context or null
458-
template<typename T> PyObject*
459-
parse_mode_and_context( PyObject*const *args, Py_ssize_t n, T& mode )
457+
template<typename T> bool
458+
parse_mode_and_context( PyObject*const *args, Py_ssize_t n, PyObject** context, T& mode )
460459
{
461460

462461
if( n != 2 )
463-
return 0;
462+
return false;
464463
if( !EnumTypes::from_py_enum( args[0], mode ) )
465-
return 0;
466-
if( !Member::check_context( mode, args[1] ) )
467-
return 0;
468-
return args[1];
464+
return false;
465+
*context = args[1];
466+
if( !Member::check_context( mode, *context ) )
467+
return false;
468+
return true;
469469
}
470470

471471

@@ -489,8 +489,8 @@ PyObject*
489489
Member_set_getattr_mode( Member* self, PyObject*const *args, Py_ssize_t n )
490490
{
491491
GetAttr::Mode mode;
492-
PyObject* context = parse_mode_and_context( args, n, mode );
493-
if( !context )
492+
PyObject* context;
493+
if( !parse_mode_and_context( args, n, &context, mode ) )
494494
return 0;
495495
self->set_getattr_mode( mode );
496496
cppy::replace( &self->getattr_context, context );
@@ -518,8 +518,8 @@ PyObject*
518518
Member_set_setattr_mode( Member* self, PyObject*const *args, Py_ssize_t n )
519519
{
520520
SetAttr::Mode mode;
521-
PyObject* context = parse_mode_and_context( args, n, mode );
522-
if( !context )
521+
PyObject* context;
522+
if( !parse_mode_and_context( args, n, &context, mode ) )
523523
return 0;
524524
self->set_setattr_mode( mode );
525525
cppy::replace( &self->setattr_context, context );
@@ -547,8 +547,8 @@ PyObject*
547547
Member_set_delattr_mode( Member* self, PyObject*const *args, Py_ssize_t n )
548548
{
549549
DelAttr::Mode mode;
550-
PyObject* context = parse_mode_and_context( args, n, mode );
551-
if( !context )
550+
PyObject* context;
551+
if( !parse_mode_and_context( args, n, &context, mode ) )
552552
return 0;
553553
self->set_delattr_mode( mode );
554554
cppy::replace( &self->delattr_context, context );
@@ -576,8 +576,8 @@ PyObject*
576576
Member_set_post_getattr_mode( Member* self, PyObject*const *args, Py_ssize_t n )
577577
{
578578
PostGetAttr::Mode mode;
579-
PyObject* context = parse_mode_and_context( args, n, mode );
580-
if( !context )
579+
PyObject* context;
580+
if( !parse_mode_and_context( args, n, &context, mode ) )
581581
return 0;
582582
self->set_post_getattr_mode( mode );
583583
cppy::replace(&self->post_getattr_context, context);
@@ -605,8 +605,8 @@ PyObject*
605605
Member_set_post_setattr_mode( Member* self, PyObject*const *args, Py_ssize_t n )
606606
{
607607
PostSetAttr::Mode mode;
608-
PyObject* context = parse_mode_and_context( args, n, mode );
609-
if( !context )
608+
PyObject* context;
609+
if( !parse_mode_and_context( args, n, &context, mode ) )
610610
return 0;
611611
self->set_post_setattr_mode( mode );
612612
cppy::replace( &self->post_setattr_context, context );
@@ -634,8 +634,8 @@ PyObject*
634634
Member_set_default_value_mode( Member* self, PyObject*const *args, Py_ssize_t n )
635635
{
636636
DefaultValue::Mode mode;
637-
PyObject* context = parse_mode_and_context( args, n, mode );
638-
if( !context )
637+
PyObject* context;
638+
if( !parse_mode_and_context( args, n, &context, mode ) )
639639
return 0;
640640
self->set_default_value_mode( mode );
641641
cppy::replace( &self->default_value_context, context );
@@ -663,8 +663,8 @@ PyObject*
663663
Member_set_validate_mode( Member* self, PyObject*const *args, Py_ssize_t n )
664664
{
665665
Validate::Mode mode;
666-
PyObject* context = parse_mode_and_context( args, n, mode );
667-
if( !context )
666+
PyObject* context;
667+
if( !parse_mode_and_context( args, n, &context, mode ) )
668668
return 0;
669669
self->set_validate_mode( mode );
670670
cppy::replace( &self->validate_context, context );
@@ -692,8 +692,8 @@ PyObject*
692692
Member_set_post_validate_mode( Member* self, PyObject*const *args, Py_ssize_t n )
693693
{
694694
PostValidate::Mode mode;
695-
PyObject* context = parse_mode_and_context( args, n, mode );
696-
if( !context )
695+
PyObject* context;
696+
if( !parse_mode_and_context( args, n, &context, mode ) )
697697
return 0;
698698
self->set_post_validate_mode( mode );
699699
cppy::replace( &self->post_validate_context, context );
@@ -721,8 +721,8 @@ PyObject*
721721
Member_set_getstate_mode( Member* self, PyObject*const *args, Py_ssize_t n )
722722
{
723723
GetState::Mode mode;
724-
PyObject* context = parse_mode_and_context( args, n, mode );
725-
if( !context )
724+
PyObject* context;
725+
if( !parse_mode_and_context( args, n, &context, mode ) )
726726
return 0;
727727
self->set_getstate_mode( mode );
728728
cppy::replace( &self->getstate_context, context );

0 commit comments

Comments
 (0)