1. Re: walk_dir issue

Greg Haberek wrote:

>> Hi all,
>>
>> with Eu 2.5 alpha there is still this issue, that Derek had reported
>> regarding Eu 2.4.
>>
>> The following code is slightly modified after 'lib_u_z.htm':
>> }}}
<eucode>
>> include file.e
>>
>> function look_at (sequence path_name, sequence entry)
>>   printf(1, "%s\\%s: %d\n", {path_name, entry[D_NAME], entry[D_SIZE]})
>>   return 0          -- keep going
>> end function
>>
>> ? walk_dir("C:\\*.txt", routine_id("look_at"), 0)
>> </eucode>
{{{

>>
>> You can see the effect that I mean only, if there actually is at least
>> 1 .TXT file in directory C:\\. On my system it prints:
>> --------------------------------
>> C:\*.txt\BOOTLOG.TXT: 59462
>> C:\*.txt\SETUPLOG.TXT: 89512
>> 0
>> --------------------------------
>> Rob, is this actually the way you want walk_dir() to work?
>>
>> Shouldn't it be
>> --------------------------------
>> C:\BOOTLOG.TXT: 59462
>> C:\SETUPLOG.TXT: 89512
>> 0
>> --------------------------------
>> instead?
>>
>> Regards,
>>   Juergen
>
> Its my understanding that walk_dir() uses whatever directory you feed
> it, without determining the *actual* directory. And since dir() can
> accept wildcards, things work. Why not just do this:
>
> }}}
<eucode>
> include file.e
> include wildcard.e
>
> function look_at (sequence path_name, sequence entry)
>     if wildcard_match( "*.txt", lower(entry[D_NAME]) ) then
>         printf(1, "%s\\%s: %d\n", {path_name, entry[D_NAME], entry[D_SIZE]})
>     end if
>     return 0          -- keep going
> end function
>
> ? walk_dir("C:\\", routine_id("look_at"), 0)
> </eucode>
{{{



That was not my question. My point was, that when we do e.g.
? walk_dir("C:\\*.txt", routine_id("look_at"), 0)


-- as I wrote above -- then something happens, that Derek and I
consider a bug.

Regards,
   Juergen

new topic     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu