Uploaded image for project: 'C Driver'
  1. C Driver
  2. CDRIVER-1982

MinGW: wrong ifdef check for strerror_r

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major - P3 Major - P3
    • 1.5.2
    • None
    • libbson, mingw
    • None

    Description

      Wrong:

       
      #if defined(__GNUC__) && defined(_GNU_SOURCE)
         ret = strerror_r (err_code, buf, buflen);
      #elif defined(_WIN32)
         if (strerror_s (buf, buflen, err_code) != 0) {
            ret = buf;
         }
      #else /* XSI strerror_r */
         if (strerror_r (err_code, buf, buflen) == 0) {
            ret = buf;
         }
      #endif
      
      

      Should be:

       
      #if defined(_WIN32)
         if (strerror_s (buf, buflen, err_code) != 0) {
            ret = buf;
         }
      #elif defined(__GNUC__) && defined(_GNU_SOURCE)
         ret = strerror_r (err_code, buf, buflen);
      #else /* XSI strerror_r */
         if (strerror_r (err_code, buf, buflen) == 0) {
            ret = buf;
         }
      #endif
      

      Attachments

        Activity

          People

            jesse@mongodb.com A. Jesse Jiryu Davis
            jesse@mongodb.com A. Jesse Jiryu Davis
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: