Print this page
Thread safety fixes.

@@ -71,11 +71,10 @@
         empty           /* crncystr */
 };
 
 struct locdata __posix_monetary_locdata = {
         .l_lname = "C",
-        .l_refcnt = (uint32_t)-1,
         .l_data = { &lc_monetary_posix }
 };
 
 static char
 cnv(const char *str)

@@ -103,11 +102,11 @@
         ret = __part_load_locale(name, (char **)&ldata->l_data[1],
             "LC_MONETARY", LCMONETARY_SIZE_FULL, LCMONETARY_SIZE_MIN,
             (const char **)lmon);
 
         if (ret != _LDP_LOADED) {
-                __locdata_release(ldata);
+                __locdata_free(ldata);
                 errno = EINVAL;
                 return (NULL);
         }
 
         /* special storage for currency string */