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>