1. error in eu40b2\include\file.e ?

Hello, I'm trying to do a walk_dir through a large (network) directory. 600 files in, I get

c:\eu400\include\custom\file.e:141 in function default_dir()
name for dir() is too long
path = {82'R',58':',92'\',66'B',77'M',67'C',92'\',65'A',114'r',99'c',
104'h',105'i',118'v',101'e',115's',92'\',67'C',111'o',110'n',115's',117'u',
108'l',116't',105'i',110'n',103'g',32' ',83'S',101'e',114'r',118'v',105'i',
99'c',101'e',115's',92'\',83'S',111'o',102'f',116't',119'w',97'a',114'r',
101'e',32' ',68'D',111'o',119'w',110'n',108'l',111'o',97'a',100'd',115's',
92'\',80'P',101'e',114'r',102'f',111'o',114'r',109'm',97'a',110'n',99'c',
101'e',32' ',77'M',97'a',110'n',97'a',103'g',101'e',109'm',101'e',110'n',
116't',32' ',40'(',66'B',80'P',77'M',41')',92'\',68'D',97'a',116't',97'a',
115's',116't',111'o',114'r',101'e',92'\',68'D',65'A',84'T',65'A',83'S',84'T',
79'O',82'R',69'E',95'_',65'A',76'L',76'L',95'_',50'2',53'5',48'0',48'0',
92'\',98'b',109'm',99'c',95'_',112'p',114'r',111'o',100'd',117'u',99'c',
116't',115's',92'\',66'B',77'M',67'C',68'D',97'a',116't',97'a',115's',116't',
111'o',114'r',101'e',92'\',100'd',105'i',115's',107'k',51'3',92'\',119'w',
105'i',110'n',51'3',50'2',92'\',112'p',97'a',116't',99'c',104'h',92'\',68'D',
105'i',115's',107'k',49'1',92'\',115's',116't',97'a',103'g',101'e',92'\',
80'P',97'a',116't',99'c',104'h',101'e',115's',92'\',111'o',114'r',97'a',
99'c',108'l',101'e',46'.',114'r',100'd',98'b',109'm',115's',46'.',105'i',
110'n',115's',116't',97'a',108'l',108'l',46'.',115's',101'e',101'e',100'd',
100'd',98'b',46'.',115's',97'a',109'm',112'p',108'l',101'e',95'_',115's',
99'c',104'h',101'e',109'm',97'a',92'\',49'1',48'0',46'.',50'2',46'.',48'0',
46'.',50'2',46'.',48'0',92'\',49'1',92'\',68'D',97'a',116't',97'a',70'F',
105'i',108'l',101'e',115's',92'\',69'E',120'x',112'p',97'a',110'n',100'd',
101'e',100'd',92'\',102'f',105'i',108'l',101'e',103'g',114'r',111'o',117'u',
112'p',49'1'}
d = <no value>
i1 = 261
... called from c:\eu400\include\custom\file.e:177 in function walk_dir()

The file.e is a copied version from the usual include, one tiny modification to show the path length (i1) ; in this case thats 261
I don't see a ticket for this, is this a bug or a perhaps my data is causing it?

I wanted to try the latest SVN in case this is a fixed issue, but that has 4 errors with wmake test:
Test results summary:
FAIL: t_c_safe_badpoke.e
FAIL: t_c_safe_c_func_nodep.e
FAIL: t_c_safe_non_extblock.e
FAIL: t_net_http.e
FAIL: translated t_net_http.exe
Files (run: 194) (failed: 5) (97.4% success)
Error(E42): Last command making (test) returned a bad status
Error(E02): Make execution terminated.

new topic     » topic index » view message » categorize

2. Re: error in eu40b2\include\file.e ?

alanjohnoxley said...

Hello, I'm trying to do a walk_dir through a large (network) directory. 600 files in, I get
...
one tiny modification to show the path length (i1) ; in this case thats 261

From memory, the maximum path length in Windows is 260 characters.

The trick is to do a 'change directory' every time you wish to go to a deeper level and then do a CD to go back to the previous level, etc ... And in the call to dir(), you just use a file spec without any directory name(s).

new topic     » goto parent     » topic index » view message » categorize

3. Re: error in eu40b2\include\file.e ?

alanjohnoxley said...

I wanted to try the latest SVN in case this is a fixed issue, but that has 4 errors with wmake test:

Test results summary: 
    FAIL: t_c_safe_badpoke.e 
    FAIL: t_c_safe_c_func_nodep.e 
    FAIL: t_c_safe_non_extblock.e 
    FAIL: t_net_http.e 
    FAIL: translated t_net_http.exe 
Files (run: 194) (failed: 5) (97.4% success) 
Error(E42): Last command making (test) returned a bad status 
Error(E02): Make execution terminated. 

Yes, these are known issues.

The t_c_* style test files are actually designed to crash. Basically, they try to do illegal things to make sure that euphoria catches them. There is additional checking to look at the ex.err file to make sure it's crashing for the 'right' reason. Those new files test the safe version of raw memory functions (allocate, free, peek, poke, etc). The current method of examining the ex.err files doesn't quite work in this case, and so a false failure is reported in each case.

The t_net_http.e test used the old openeuphoria.org to test out sending an http POST. Obviously, that doesn't work, and the test hasn't been updated to correct it.

So your binary should be fine (or at least, it's what it's supposed to be, according to the current state of development).

Matt

new topic     » goto parent     » topic index » view message » categorize

4. Re: error in eu40b2\include\file.e ?

OK, makes sense. Thanks :)
This means that I will need my own version of walk_dir() to get past the < 260 issue.
Will do - should not be too difficult due to Euphoria's dynamic sequences, even for a klutz like me.

Well, I'm off to my code editor, with anti..ci..pation (apologies to Rocky Horror)

Cheers Alan

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu