[#5218] Ruby Book Eng tl, ch1 question — Jon Babcock <jon@...>

13 messages 2000/10/02

[#5404] Object.foo, setters and so on — "Hal E. Fulton" <hal9000@...>

OK, here is what I think I know.

14 messages 2000/10/11

[#5425] Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — Jon Babcock <jon@...>

18 messages 2000/10/11
[#5427] RE: Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — OZAWA -Crouton- Sakuro <crouton@...> 2000/10/11

At Thu, 12 Oct 2000 03:49:46 +0900,

[#5429] Re: Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — Jon Babcock <jon@...> 2000/10/11

Thanks for the input.

[#5432] Re: Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — Yasushi Shoji <yashi@...> 2000/10/11

At Thu, 12 Oct 2000 04:53:41 +0900,

[#5516] Re: Some newbye question — ts <decoux@...>

>>>>> "D" == Davide Marchignoli <marchign@di.unipi.it> writes:

80 messages 2000/10/13
[#5531] Re: Some newbye question — matz@... (Yukihiro Matsumoto) 2000/10/14

Hi,

[#5544] Re: Some newbye question — Davide Marchignoli <marchign@...> 2000/10/15

On Sat, 14 Oct 2000, Yukihiro Matsumoto wrote:

[#5576] Re: local variables (nested, in-block, parameters, etc.) — Dave Thomas <Dave@...> 2000/10/16

matz@zetabits.com (Yukihiro Matsumoto) writes:

[#5617] Re: local variables (nested, in-block, parameters, etc.) — "Brian F. Feldman" <green@...> 2000/10/16

Dave Thomas <Dave@thomases.com> wrote:

[#5705] Dynamic languages, SWOT ? — Hugh Sasse Staff Elec Eng <hgs@...>

There has been discussion on this list/group from time to time about

16 messages 2000/10/20
[#5712] Re: Dynamic languages, SWOT ? — Charles Hixson <charleshixsn@...> 2000/10/20

Hugh Sasse Staff Elec Eng wrote:

[#5882] [RFC] Towards a new synchronisation primitive — hipster <hipster@...4all.nl>

Hello fellow rubyists,

21 messages 2000/10/26

[ruby-talk:5454] Re: File.expand_path(), second arg?

From: Hugh Sasse Staff Elec Eng <hgs@...>
Date: 2000-10-12 09:49:49 UTC
List: ruby-talk #5454
On Thu, 12 Oct 2000, Yasushi Shoji wrote:

> 1.4.6 doesn't work either.  i think the problem is implicit
> expectation of string when arg = 2.
> 
> this patch works for me but not sure it's the right way.
> --
>             yashi
> 
> Index: file.c
> ===================================================================
> RCS file: /home/cvsroot/ruby/file.c,v
> retrieving revision 1.38
> diff -u -u -r1.38 file.c
> --- file.c      2000/10/10 07:03:17     1.38
> +++ file.c      2000/10/11 20:44:28
> @@ -1260,7 +1260,7 @@
>      }
>  #endif
>      else if (!isdirsep(*s)) {
> -       if (argc == 2) {
> +       if (argc == 2 && !NIL_P(dname)) {
>             dname = rb_file_s_expand_path(1, &dname);
>             if (OBJ_TAINTED(dname)) tainted = 1;
>             strcpy(buf, RSTRING(dname)->ptr);
> 
> 

This patch didn't work for me but my change to the file is below.
I'm using the "tarball" off the Ruby home page, and so I have patched
file.c like this:

neelix hgs 738 %> gdiff -u ruby-1.6.1-orig/file.c ruby-1.6.1/file.c
--- ruby-1.6.1-orig/file.c      Mon Sep 25 10:14:59 2000
+++ ruby-1.6.1/file.c   Thu Oct 12 10:09:11 2000
@@ -1260,7 +1260,7 @@
     }
 #endif
     else if (!isdirsep(*s)) {
-       if (argc == 2) {
+       if (argc == 2 && !NIL_P(dname)) {
            dname = rb_file_s_expand_path(1, &dname);
            if (OBJ_TAINTED(dname)) tainted = 1;
            strcpy(buf, RSTRING(dname)->ptr);
neelix hgs 739 %> 

There's not much difference; maybe patch  -l (i.e --ignore-whitespace)
would have done the trick.

However, I have not built this yet.  This is because I wanted to add the
test for this to the testing performed by `make test` first.  However, 
I can't find the tests for the File class in the directory structure.
In particular I cannot find any tests for the expand_path method, so
I can't see where to add any such test so it will remain there for the
future.

Maybe Dave's new test suite can have the test inside it, if it doesn't
belong in the `make test` tests?

	Hugh
	hgs@dmu.ac.uk


In This Thread

Prev Next