Dmitriy Tochansky wrote: > Playing with cpython source, I found some strange strings in > socketmodule.c: > > --- > if (flowinfo < 0 || flowinfo > 0xfffff) { > PyErr_SetString( > PyExc_OverflowError, > "getsockaddrarg: flowinfo must be 0-1048575."); > return 0; > } > --- > > --- > if (flowinfo < 0 || flowinfo > 0xfffff) { > PyErr_SetString(PyExc_OverflowError, > "getsockaddrarg: flowinfo must be 0-1048575."); > return NULL; > } > --- > > The flowinfo variable declared few strings above as unsgined int. Is > there any practical sense in this check? Seems like gcc just removes > this check. I think any compiler will generate code that checks as > unsigned, for example in x86 its JAE/JGE. May be this code is for "bad" > compilers or exotic arch?
I think you are right, the < 0 check is redundant. The developers probably forgot to remove it when http://bugs.python.org/issue9975 was fixed. _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com