@@ -1380,6 +1380,11 @@ makebdaddr(bdaddr_t *bdaddr)
13801380}
13811381#endif 
13821382
1383+ PyObject * 
1384+ unicode_fsdecode (void  * arg )
1385+ {
1386+     return  PyUnicode_DecodeFSDefault ((const  char * )arg );
1387+ }
13831388
13841389/* Create an object representing the given socket address, 
13851390   suitable for passing it back to bind(), connect() etc. 
@@ -1616,26 +1621,25 @@ makesockaddr(SOCKET_T sockfd, struct sockaddr *addr, size_t addrlen, int proto)
16161621#ifdef  CAN_ISOTP 
16171622          case  CAN_ISOTP :
16181623          {
1619-               return  Py_BuildValue ("O&kk" , PyUnicode_DecodeFSDefault ,
1620-                                            ifname ,
1621-                                            a -> can_addr .tp .rx_id ,
1622-                                            a -> can_addr .tp .tx_id );
1624+               return  Py_BuildValue ("O&kk" , unicode_fsdecode ,
1625+                                    ifname ,
1626+                                    a -> can_addr .tp .rx_id ,
1627+                                    a -> can_addr .tp .tx_id );
16231628          }
16241629#endif  /* CAN_ISOTP */ 
16251630#ifdef  CAN_J1939 
16261631          case  CAN_J1939 :
16271632          {
1628-               return  Py_BuildValue ("O&KIB" , PyUnicode_DecodeFSDefault ,
1629-                                            ifname ,
1630-                                            (unsigned long long )a -> can_addr .j1939 .name ,
1631-                                            (unsigned int  )a -> can_addr .j1939 .pgn ,
1632-                                            a -> can_addr .j1939 .addr );
1633+               return  Py_BuildValue ("O&KIB" , unicode_fsdecode ,
1634+                                    ifname ,
1635+                                    (unsigned long long )a -> can_addr .j1939 .name ,
1636+                                    (unsigned int  )a -> can_addr .j1939 .pgn ,
1637+                                    a -> can_addr .j1939 .addr );
16331638          }
16341639#endif  /* CAN_J1939 */ 
16351640          default :
16361641          {
1637-               return  Py_BuildValue ("(O&)" , PyUnicode_DecodeFSDefault ,
1638-                                         ifname );
1642+               return  Py_BuildValue ("(O&)" , unicode_fsdecode , ifname );
16391643          }
16401644        }
16411645    }
@@ -7161,7 +7165,7 @@ socket_if_nameindex(PyObject *self, PyObject *arg)
71617165        }
71627166#endif 
71637167        PyObject  * ni_tuple  =  Py_BuildValue ("IO&" ,
7164-                 ni [i ].if_index , PyUnicode_DecodeFSDefault , ni [i ].if_name );
7168+                 ni [i ].if_index , unicode_fsdecode , ni [i ].if_name );
71657169
71667170        if  (ni_tuple  ==  NULL  ||  PyList_Append (list , ni_tuple ) ==  -1 ) {
71677171            Py_XDECREF (ni_tuple );
0 commit comments