Euphoria Ticket #853: walk_dir does not recurse directories

The following code never returns from walk_dir:

include std/filesys.e 
 
function my_function( sequence path_name, sequence item ) 
	printf(1, "%s : %s\n", { path_name, item[D_NAME]} ) 
	return 0 
end function 
puts(1, "starting...\n") 
walk_dir( current_dir(), routine_id( "my_function" ), 1 ) 
puts(1, "done.\n") 

It seems to work correctly when there are no subdirectories to actually recurse.

Details

Type: Bug Report Severity: Normal Category: Library Routine
Assigned To: SDPringle Status: Fixed Reported Release: 4.0.5
Fixed in SVN #: View VCS: none Milestone: 4.0.6

1. Comment by mattlewis Feb 21, 2013

Actually, the problem was that I had a directory named "*.*".

2. Comment by jimcbrown Feb 21, 2013

That's a valid name. The code should be able to deal with this.

3. Comment by mattlewis Feb 21, 2013

I agree. But it's important for the diagnosis.

4. Comment by DerekParnell Feb 21, 2013

In Windows (tm) systems, a folder/file cannot have certain characters in their name. They cannot have any of the following ...

\ / : * ? " < > |

5. Comment by mattlewis Feb 21, 2013

Yes, this was on an ext4 filesystem, where the only characters you can't use are NULL and /.

6. Comment by SDPringle Jan 31, 2015

I reproduced this on Linux/32bit on an ext3 file system.

7. Comment by SDPringle Jan 31, 2015

See: hg:euphoria/rev/19b9a8f7e142

changeset: 6299:19b9a8f7e142 branch: 4.0 tag: tip user: Shawn Pringle <shawn.pringle@gmail.com> date: Sat Jan 31 13:43:06 2015 -0300 files: include/std/filesys.e tests/t_walkdir.e description:

  • ticket 853: fixes walk_dir in the strange *.* directory name case.

8. Comment by SDPringle Oct 20, 2015

marking fixed.

9. Comment by SDPringle May 04, 2018

See: hg:euphoria/rev/5b8912a4a2cf

changeset: 6468:5b8912a4a2cf branch: 4.0 user: Shawn David Pringle B.Sc. <shawn.pringle@gmail.com> date: Fri May 04 10:00:59 2018 -0300 files: docs/release/4.0.6.txt description:

  • updated the release notes. ticket 831, ticket 907, ticket 803, ticket 853, ticket 928, ticket 938, ticket 752, ticket 915, ticket 948, ticket 921

Search



Quick Links

User menu

Not signed in.

Misc Menu