openbsd-ports/archivers/unrar/patches/patch-ab

78 lines
1.6 KiB
Plaintext

*** os.c.orig Sat Apr 17 18:53:01 1999
--- os.c Tue Apr 20 04:45:20 1999
***************
*** 82,88 ****
--- 82,91 ----
SetConsoleMode(hConIn,ConInMode);
SetConsoleMode(hConOut,ConOutMode);
#else
+ char *s;
fgets(Str,sizeof(Password)-1,stdin);
+ if ((s = strchr(Str, '\n')) != NULL)
+ *s = '\0';
#endif
}
***************
*** 408,433 ****
}
#endif
#ifdef _UNIX
switch(NewLhd.HostOS)
{
case MS_DOS:
case OS2:
case WIN_32:
if (NewLhd.FileAttr & 0x10)
! NewLhd.FileAttr=0x41ff;
else
if (NewLhd.FileAttr & 1)
! NewLhd.FileAttr=0x816d;
else
! NewLhd.FileAttr=0x81ff;
break;
case UNIX:
break;
default:
if ((NewLhd.Flags & LHD_WINDOWMASK)==LHD_DIRECTORY)
! NewLhd.FileAttr=0x41ff;
else
! NewLhd.FileAttr=0x81ff;
break;
}
#endif
--- 411,443 ----
}
#endif
#ifdef _UNIX
+ static mode_t mask = -1;
+
+ if (mask == (mode_t) -1)
+ {
+ mask = umask(022);
+ (void) umask(mask);
+ }
switch(NewLhd.HostOS)
{
case MS_DOS:
case OS2:
case WIN_32:
if (NewLhd.FileAttr & 0x10)
! NewLhd.FileAttr=0x41ff & ~mask;
else
if (NewLhd.FileAttr & 1)
! NewLhd.FileAttr=0x8124 & ~mask;
else
! NewLhd.FileAttr=0x81b6 & ~mask;
break;
case UNIX:
break;
default:
if ((NewLhd.Flags & LHD_WINDOWMASK)==LHD_DIRECTORY)
! NewLhd.FileAttr=0x41ff & ~mask;
else
! NewLhd.FileAttr=0x81b6 & ~mask;
break;
}
#endif