< :the previous in number
^ :the list in numerical order
> :the next in number
P :the previous (in thread)
N :the next (in thread)
|<:the top of this thread
>|:the next thread
^ :the parent (reply-to)
_:the child (an article replying to this)
>:the elder article having the same parent
<:the youger article having the same parent
---:split window and show thread lists
| :split window (vertically) and show thread lists
~ :close the thread frame
.:the index
..:the index of indices
On Apr 13, 11:45pm, Heesob Park <pha... / gmail.com> wrote:
> Hi,
> Daniel Berger wrote:
> > On Apr 13, 7:43am, "Park Heesob" <phasi... / hotmail.com> wrote:
> >> > Hi,
>
> >> > omask = Umask.call(0)
> >> > p umask(S_IREAD) # 0
> >> > p umask # 256 (ok)
> >> > p umask # 256 (double check, ok)
>
> >> > p File.umask # 0 - wtf?
>
> >> > Why isn't Ruby's File.umask picking up the change? I see the same thing
> >> > if I set it with File.umask and try to read the changes with my own umask.
>
> >> In my Windows XP Home & Pro, with ruby 1.8.6 p111,
> >> the File.umask works fine.
>
> > I noticed that it works as expected when I use the one click installer
> > but not when I use a Ruby built with VC++ 8.
>
> > Are you seeing the same thing?
>
> Yes, I tested with VC++ 9.
> It fails as same as your test.
> I guess "msvcrt" is valid for VC++ 6.
> The situation became more complex since VC++ 8.
>
> Refer tohttp://msdn2.microsoft.com/en-us/library/abx4dbyh(VS.80).aspx
>
> You should modify the line
>
> Umask = API.new('_umask', 'I', 'I', 'msvcrt')
>
> to
>
> Umask = API.new('_umask', 'I', 'I', 'msvcr80')
>
> It requires Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)http://www.microsoft.com/downloads/details.aspx?FamilyID=200B2FD9-AE1...
When I try to link against msvcr80 I get:
umask_test.rb:4:in `initialize': LoadLibrary() function failed for
'msvcr80': A dynamic link library (DLL) initialization routine failed.
(Win32::API::Error)
from umask_test.rb:4:in `new'
from umask_test.rb:4
The first line of a build shows the options being used:
cl -W3 -nologo -MD -O2b2xty- -DRUBY_EXPORT -I. -I. -I./
missing -D_CRT_SECURE_NO
_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -c -Tcarray.c
Do I need to use a different build switch?
The download link you mentioned suggests that I only need that patch
if I don't already have Visual C++ installed. But, I do have it
installed.
I'm afraid that even after reading the first article I'm still not
sure what I'm supposed to do to make this work properly.
Regards,
Dan