Note: This website is archived. For up-to-date information about D projects and development, please visit wiki.dlang.org.

Changeset 336

Show
Ignore:
Timestamp:
07/20/10 21:50:53 (14 years ago)
Author:
sean
Message:

Issue 3604 - extern(C) callable function with array parameters broken

Fixed sys.socket and sys.time.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/core/sys/posix/sys/socket.d

    r300 r336  
    120120ssize_t recv(int, void*, size_t, int); 
    121121ssize_t recvfrom(int, void*, size_t, int, sockaddr*, socklen_t*); 
    122122ssize_t recvmsg(int, msghdr*, int); 
    123123ssize_t send(int, in void*, size_t, int); 
    124124ssize_t sendmsg(int, in msghdr*, int); 
    125125ssize_t sendto(int, in void*, size_t, int, in sockaddr*, socklen_t); 
    126126int     setsockopt(int, int, int, in void*, socklen_t); 
    127127int     shutdown(int, int); 
    128128int     socket(int, int, int); 
    129129int     sockatmark(int); 
    130 int     socketpair(int, int, int, int[2]); 
     130int     socketpair(int, int, int, ref int[2]); 
    131131*/ 
    132132 
    133133version( linux ) 
    134134{ 
    135135    alias uint   socklen_t; 
    136136    alias ushort sa_family_t; 
    137137 
    138138    struct sockaddr 
    139139    { 
    140140        sa_family_t sa_family; 
     
    278278    ssize_t recv(int, void*, size_t, int); 
    279279    ssize_t recvfrom(int, void*, size_t, int, sockaddr*, socklen_t*); 
    280280    ssize_t recvmsg(int, msghdr*, int); 
    281281    ssize_t send(int, in void*, size_t, int); 
    282282    ssize_t sendmsg(int, in msghdr*, int); 
    283283    ssize_t sendto(int, in void*, size_t, int, in sockaddr*, socklen_t); 
    284284    int     setsockopt(int, int, int, in void*, socklen_t); 
    285285    int     shutdown(int, int); 
    286286    int     socket(int, int, int); 
    287287    int     sockatmark(int); 
    288     int     socketpair(int, int, int, int[2]); 
     288    int     socketpair(int, int, int, ref int[2]); 
    289289} 
    290290else version( OSX ) 
    291291{ 
    292292    alias uint   socklen_t; 
    293293    alias ubyte  sa_family_t; 
    294294 
    295295    struct sockaddr 
    296296    { 
    297297        ubyte       sa_len; 
    298298        sa_family_t sa_family; 
     
    427427    ssize_t recv(int, void*, size_t, int); 
    428428    ssize_t recvfrom(int, void*, size_t, int, sockaddr*, socklen_t*); 
    429429    ssize_t recvmsg(int, msghdr*, int); 
    430430    ssize_t send(int, in void*, size_t, int); 
    431431    ssize_t sendmsg(int, in msghdr*, int); 
    432432    ssize_t sendto(int, in void*, size_t, int, in sockaddr*, socklen_t); 
    433433    int     setsockopt(int, int, int, in void*, socklen_t); 
    434434    int     shutdown(int, int); 
    435435    int     socket(int, int, int); 
    436436    int     sockatmark(int); 
    437     int     socketpair(int, int, int, int[2]); 
     437    int     socketpair(int, int, int, ref int[2]); 
    438438} 
    439439else version( freebsd ) 
    440440{ 
    441441    alias uint   socklen_t; 
    442442    alias ubyte  sa_family_t; 
    443443 
    444444    struct sockaddr 
    445445    { 
    446446        ubyte       sa_len; 
    447447        sa_family_t sa_family; 
     
    578578    ssize_t recv(int, void*, size_t, int); 
    579579    ssize_t recvfrom(int, void*, size_t, int, sockaddr*, socklen_t*); 
    580580    ssize_t recvmsg(int, msghdr*, int); 
    581581    ssize_t send(int, in void*, size_t, int); 
    582582    ssize_t sendmsg(int, in msghdr*, int); 
    583583    ssize_t sendto(int, in void*, size_t, int, in sockaddr*, socklen_t); 
    584584    int     setsockopt(int, int, int, in void*, socklen_t); 
    585585    int     shutdown(int, int); 
    586586    int     socket(int, int, int); 
    587587    int     sockatmark(int); 
    588     int     socketpair(int, int, int, int[2]); 
     588    int     socketpair(int, int, int, ref int[2]); 
    589589} 
    590590 
    591591// 
    592592// IPV6 (IP6) 
    593593// 
    594594/* 
    595595AF_INET6 
    596596*/ 
    597597 
    598598version( linux ) 
  • trunk/src/core/sys/posix/sys/time.d

    r300 r336  
    3636} 
    3737 
    3838ITIMER_REAL 
    3939ITIMER_VIRTUAL 
    4040ITIMER_PROF 
    4141 
    4242int getitimer(int, itimerval*); 
    4343int gettimeofday(timeval*, void*); 
    4444int select(int, fd_set*, fd_set*, fd_set*, timeval*); (defined in core.sys.posix.sys.signal) 
    4545int setitimer(int, in itimerval*, itimerval*); 
    46 int utimes(in char*, in timeval[2]); // LEGACY 
     46int utimes(in char*, ref const(timeval)[2]); // LEGACY 
    4747*/ 
    4848 
    4949version( linux ) 
    5050{ 
    5151    struct timeval 
    5252    { 
    5353        time_t      tv_sec; 
    5454        suseconds_t tv_usec; 
    5555    } 
    5656 
     
    6060        timeval it_value; 
    6161    } 
    6262 
    6363    enum ITIMER_REAL    = 0; 
    6464    enum ITIMER_VIRTUAL = 1; 
    6565    enum ITIMER_PROF    = 2; 
    6666 
    6767    int getitimer(int, itimerval*); 
    6868    int gettimeofday(timeval*, void*); 
    6969    int setitimer(int, in itimerval*, itimerval*); 
    70     int utimes(in char*, in timeval[2]); // LEGACY 
     70    int utimes(in char*, ref const(timeval)[2]); // LEGACY 
    7171} 
    7272else version( OSX ) 
    7373{ 
    7474    struct timeval 
    7575    { 
    7676        time_t      tv_sec; 
    7777        suseconds_t tv_usec; 
    7878    } 
    7979 
    8080    struct itimerval 
     
    8686    // non-standard 
    8787    struct timezone_t 
    8888    { 
    8989        int tz_minuteswest; 
    9090        int tz_dsttime; 
    9191    } 
    9292 
    9393    int getitimer(int, itimerval*); 
    9494    int gettimeofday(timeval*, timezone_t*); // timezone_t* is normally void* 
    9595    int setitimer(int, in itimerval*, itimerval*); 
    96     int utimes(in char*, in timeval[2]); 
     96    int utimes(in char*, ref const(timeval)[2]); 
    9797} 
    9898else version( freebsd ) 
    9999{ 
    100100    struct timeval 
    101101    { 
    102102        time_t      tv_sec; 
    103103        suseconds_t tv_usec; 
    104104    } 
    105105 
    106106    struct itimerval 
     
    112112    // non-standard 
    113113    struct timezone_t 
    114114    { 
    115115        int tz_minuteswest; 
    116116        int tz_dsttime; 
    117117    } 
    118118 
    119119    int getitimer(int, itimerval*); 
    120120    int gettimeofday(timeval*, timezone_t*); // timezone_t* is normally void* 
    121121    int setitimer(int, in itimerval*, itimerval*); 
    122     int utimes(in char*, in timeval[2]); 
     122    int utimes(in char*, ref const(timeval)[2]); 
    123123}