1. Си / Говнокод #4665

    +132

    1. 1
    2. 2
    3. 3
    const long long_value = PyInt_AsLong(value);                                      
    const int int_value = (int)long_value;                                            
    if (PyErr_Occurred() || long_value != int_value) { /* Overflow */

    PyMongo...

    Запостил: raorn, 17 Ноября 2010

    Комментарии (12) RSS

    • Рамочка вокруг кода путает :) Кстати long часто идентичен int'у. Да и смысл проверять переполнение, если можно с long'ом работать ?
      Ответить
      • В BSON'е integer (32-bit signed) и long (64-bit signed) имеют разные типы.
        Ответить
        • > В BSON'е
          хто эта ?
          Ответить
          • Вас на гугле забанили?

            BSON (pronounced /ˈbiːsɒn/) is a computer data interchange format. It is a binary form for representing simple data structures and associative arrays (called objects or documents). The name "BSON" is based on the term JSON and informally means "Binary JSON".
            Ответить
          • Blue screen of <подставить по вкусу>.
            Ответить
        • А где гарантия что X компилятор под Y платформу соберёт с именно такой размерностью?
          Ответить
          • спросите у тех кто собирал компилятор...
            Ответить
            • компилятор, скомпилированный компилятором, скомпилированным компилятором
              Ответить
              • Вы не поверите - gcc именно так и собирается, в три прохода.
                Ответить
        • в msvc8 int(32bit) и long(32bit) тоже имеют разные типы
          Ответить

    Добавить комментарий