Daniel Berger
7/13/2007 7:10:00 PM
On Jul 13, 12:03 pm, "Glen Holcomb" <damnbig...@gmail.com> wrote:
> I have an interesting problem. I have a script that I wish to use to check
> a database and then map drives based on who is logging on and the info in
> the database.
>
> When I run the script on any of the machines in the computer lab it
> segfaults. When I copy the exact same code that is in the script into an
> irb session and run it I don't have any trouble. I can run the script
> proper on my office workstation.
>
> Does anyone have any idea what could be causing this?
>
> I'm running ruby 1.8.6 on all the machines in question.
>
> Here is the script:
>
> require 'Win32API'
> require 'xmlrpc/client'
>
> class User
> def lookup
> user = "0" * 20
>
> getUserName = Win32API.new("advapi32", "GetUserName", 'P', "V")
>
> getUserName.call(user)
>
> return user
> end
>
> def account_created?(login)
> server = XMLRPC::Client.new2('http://localhost:3003/user/api')
>
> result = server.call('Check', login)
>
> if result == 0
> return false
> else
> return true
> end
> end
>
> def map_drives(login)
> system("net use x: /delete /y")
> system("net use l: /delete /y")
> system("net use x: //cad1/#{login}")
> system("net use l: //cad1/shared")
> end
> end
>
> user = User.new
>
> username = user.lookup
>
> if user.account_created?(username)
> user.map_drives(username)
> end
What version of Windows are you on? Is there a backtrace you could
show us? That would help us determine whether or not it's the system
calls or something else.
Regards,
Dan