Blob Blame History Raw
diff -dur gcl-2.6.8.ORIG/o/unixfsys.c gcl-2.6.8/o/unixfsys.c
--- gcl-2.6.8.ORIG/o/unixfsys.c	2008-12-29 17:42:18.000000000 -0700
+++ gcl-2.6.8/o/unixfsys.c	2008-12-29 17:51:35.000000000 -0700
@@ -214,7 +214,7 @@
     
 #ifndef NO_PWD_H  
   if(namestring->st.st_self[0]=='~')
-    {char name[20];
+    {char name[LOGIN_NAME_MAX];
      int n;
      char *q = namestring->st.st_self;
 #ifndef __STDC__
@@ -224,8 +224,7 @@
 
      struct passwd *pwent;
      int m=0;
-     q=namestring->st.st_self;
-     for (n=0; n< namestring->st.st_fillp; n++)
+     for (n=1; n< namestring->st.st_fillp; n++)
        if (q[n]=='/') break;
      bcopy(q+1,name,n-1);
      name[n-1]= 0;