digitalmars.D - weird linux behavior
- Carlos Santander B. (41/41) Mar 05 2005 I don't know if I should post it in the bugs ng because I'm not sure
I don't know if I should post it in the bugs ng because I'm not sure 
what's going on.
This program compiles successfully on DMD linux, gdc linux and gdc 
cygwin, but only runs ok on cygwin:
//----------------------------------------------------
const int SYS_NMLN=65;    // 20 on cygwin
extern(C)
{
     struct utsname
     {
         char sysname[SYS_NMLN];
         char nodename[SYS_NMLN];
         char release[SYS_NMLN];
         char vers[SYS_NMLN];
         char machine[SYS_NMLN];
     }
     int uname (utsname *);
}
import std.stdio;
void main ()
{
     //utsname* name = new utsname;      // line 21
     //int res = uname(name);            // line 22
     utsname name;                     // line 23
     int res = uname(&name);           // line 24
     if (res==0)
     {
         writefln(name.sysname);
         writefln(name.nodename);
         writefln(name.release);
         writefln(name.vers);
         writefln(name.machine);
     }
}
//----------------------------------------------------
As is, it segfaults at the end, after the final writefln(). If I comment 
lines 23 and 24 and uncomment lines 21 and 22, it runs correctly. gdb 
doesn't give any additional information about what happens. Does anybody 
have a clue of what could be happening?
_______________________
Carlos Santander Bernal
 Mar 05 2005








 
  
  
  "Carlos Santander B." <csantander619 gmail.com>
 "Carlos Santander B." <csantander619 gmail.com>