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