| line |
true |
false |
branch |
|
29
|
0 |
0 |
for (i=0;i
|
|
|
0 |
0 |
for (i=0;i
|
|
|
0 |
0 |
for (i=0;i
|
|
|
20 |
4 |
for (i=0;i
|
|
30
|
0 |
0 |
if (s[i]!=t[i]) return 0; |
|
|
0 |
0 |
if (s[i]!=t[i]) return 0; |
|
|
0 |
0 |
if (s[i]!=t[i]) return 0; |
|
|
20 |
0 |
if (s[i]!=t[i]) return 0; |
|
36
|
0 |
0 |
if (*year<70) *year+=2000; |
|
|
0 |
0 |
if (*year<70) *year+=2000; |
|
|
0 |
1 |
if (*year<70) *year+=2000; |
|
|
0 |
1 |
if (*year<70) *year+=2000; |
|
|
0 |
8 |
if (*year<70) *year+=2000; |
|
|
0 |
8 |
if (*year<70) *year+=2000; |
|
37
|
0 |
0 |
else if (*year<100) *year+=1900; |
|
|
0 |
0 |
else if (*year<100) *year+=1900; |
|
|
0 |
1 |
else if (*year<100) *year+=1900; |
|
|
0 |
1 |
else if (*year<100) *year+=1900; |
|
|
8 |
0 |
else if (*year<100) *year+=1900; |
|
|
0 |
8 |
else if (*year<100) *year+=1900; |
|
38
|
0 |
0 |
else if (*year<1970) return 0; |
|
|
0 |
0 |
else if (*year<1970) return 0; |
|
|
1 |
0 |
else if (*year<1970) return 0; |
|
|
1 |
0 |
else if (*year<1970) return 0; |
|
|
0 |
0 |
else if (*year<1970) return 0; |
|
|
8 |
0 |
else if (*year<1970) return 0; |
|
48
|
0 |
0 |
for (i=0;i
|
|
|
0 |
0 |
for (i=0;i
|
|
|
0 |
0 |
for (i=0;i
|
|
|
0 |
0 |
for (i=0;i
|
|
|
0 |
0 |
for (i=0;i
|
|
|
0 |
0 |
for (i=0;i
|
|
|
72 |
39 |
for (i=0;i
|
|
|
115 |
1 |
for (i=0;i
|
|
|
3 |
0 |
for (i=0;i
|
|
|
4 |
1 |
for (i=0;i
|
|
|
16 |
8 |
for (i=0;i
|
|
|
16 |
8 |
for (i=0;i
|
|
|
16 |
8 |
for (i=0;i
|
|
|
138 |
0 |
for (i=0;i
|
|
|
101 |
37 |
for (i=0;i
|
|
|
2 |
1 |
for (i=0;i
|
|
|
0 |
0 |
for (i=0;i
|
|
49
|
0 |
0 |
if (p[i]>'9' || p[i]<'0') |
|
|
0 |
0 |
if (p[i]>'9' || p[i]<'0') |
|
|
0 |
0 |
if (p[i]>'9' || p[i]<'0') |
|
|
0 |
0 |
if (p[i]>'9' || p[i]<'0') |
|
|
0 |
0 |
if (p[i]>'9' || p[i]<'0') |
|
|
0 |
0 |
if (p[i]>'9' || p[i]<'0') |
|
|
72 |
0 |
if (p[i]>'9' || p[i]<'0') |
|
|
78 |
37 |
if (p[i]>'9' || p[i]<'0') |
|
|
2 |
1 |
if (p[i]>'9' || p[i]<'0') |
|
|
4 |
0 |
if (p[i]>'9' || p[i]<'0') |
|
|
16 |
0 |
if (p[i]>'9' || p[i]<'0') |
|
|
16 |
0 |
if (p[i]>'9' || p[i]<'0') |
|
|
16 |
0 |
if (p[i]>'9' || p[i]<'0') |
|
|
92 |
46 |
if (p[i]>'9' || p[i]<'0') |
|
|
92 |
9 |
if (p[i]>'9' || p[i]<'0') |
|
|
2 |
0 |
if (p[i]>'9' || p[i]<'0') |
|
|
0 |
0 |
if (p[i]>'9' || p[i]<'0') |
|
62
|
0 |
0 |
for (i=0;i
|
|
|
0 |
0 |
for (i=0;i
|
|
|
0 |
0 |
for (i=0;i
|
|
|
38 |
1 |
for (i=0;i
|
|
|
139 |
38 |
for (i=0;i
|
|
|
20 |
4 |
for (i=0;i
|
|
|
0 |
0 |
for (i=0;i
|
|
63
|
0 |
0 |
if (p[i]>'9' || p[i]<'0') |
|
|
0 |
0 |
if (p[i]>'9' || p[i]<'0') |
|
|
0 |
0 |
if (p[i]>'9' || p[i]<'0') |
|
|
0 |
38 |
if (p[i]>'9' || p[i]<'0') |
|
|
139 |
0 |
if (p[i]>'9' || p[i]<'0') |
|
|
16 |
4 |
if (p[i]>'9' || p[i]<'0') |
|
|
0 |
0 |
if (p[i]>'9' || p[i]<'0') |
|
86
|
2 |
35 |
if (!this_year) { |
|
92
|
98 |
2 |
if (tai_less(&n,&yearstart)) break; |
|
97
|
0 |
37 |
if (tai_less(&now,&x)) |
|
112
|
0 |
0 |
if (l<14) return 0; |
|
114
|
0 |
0 |
for (i = 0; i < l; i++) { |
|
116
|
0 |
0 |
if (p[i]<'0' || p[i]>'9') return 0; |
|
168
|
72 |
5 |
if (len < 3) return -1; |
|
172
|
500 |
33 |
for (i = 0;i < 12;++i) |
|
173
|
500 |
0 |
if (CMP(0) && CMP(1) && CMP(2)) |
|
|
41 |
459 |
if (CMP(0) && CMP(1) && CMP(2)) |
|
|
3 |
38 |
if (CMP(0) && CMP(1) && CMP(2)) |
|
|
2 |
1 |
if (CMP(0) && CMP(1) && CMP(2)) |
|
|
2 |
38 |
if (CMP(0) && CMP(1) && CMP(2)) |
|
|
1 |
1 |
if (CMP(0) && CMP(1) && CMP(2)) |
|
184
|
0 |
0 |
if (buf[0]!='+') return 0; |
|
187
|
0 |
0 |
for (pos = 1;pos < len;pos++) { |
|
188
|
0 |
0 |
if ('\t'==buf[pos]) { |
|
191
|
0 |
0 |
if (!f->namelen) return 0; /* huh? */ |
|
195
|
0 |
0 |
if (',' != buf[pos]) |
|
201
|
0 |
0 |
if (pos-start-1==0) return 0; |
|
202
|
0 |
0 |
if (get_uint64(buf+start+1,pos-start-1,&f->size) |
|
207
|
0 |
0 |
if (pos-start-1==0) return 0; |
|
208
|
0 |
0 |
if (get_ulong(buf+start+1,pos-start-1,&ul)!=pos-start-1) return 0; |
|
214
|
0 |
0 |
if (pos-start-1==0) return 0; |
|
241
|
46 |
0 |
if (len==x) return 0; |
|
242
|
46 |
0 |
if (!x || x>2) return 0; |
|
244
|
46 |
0 |
if (':' != buf[x]) return 0; |
|
245
|
46 |
0 |
if (len==++x) return 0; |
|
248
|
46 |
0 |
if (y!=2) return 0; |
|
251
|
9 |
37 |
if (x!=len && ':' == buf[x]) { |
|
|
1 |
8 |
if (x!=len && ':' == buf[x]) { |
|
252
|
1 |
0 |
if (len==++x) return 0; |
|
255
|
1 |
0 |
if (y!=2) return 0; |
|
261
|
8 |
38 |
if (x!=len && ('A' == buf[x] || 'P' == buf[x])) { |
|
|
8 |
0 |
if (x!=len && ('A' == buf[x] || 'P' == buf[x])) { |
|
262
|
0 |
8 |
if ('P' == buf [x]) |
|
265
|
8 |
0 |
if (len==x) return 0; |
|
266
|
8 |
0 |
if ('M' != buf[x]) return 0; |
|
268
|
8 |
0 |
if (len==x) return 0; |
|
270
|
8 |
38 |
if (len==x || buf[x]==' ') return x; |
|
|
8 |
0 |
if (len==x || buf[x]==' ') return x; |
|
296
|
264 |
0 |
for (state=start=pos=0;pos
|
|
299
|
8 |
16 |
if ('-'==buf[pos]) { |
|
301
|
8 |
0 |
if (pos==start) return 0; |
|
302
|
8 |
0 |
if (get_ulong(buf+start,pos-start,&mon)!=pos-start) return 0; |
|
307
|
8 |
16 |
if ('-'==buf[pos]) { |
|
309
|
8 |
0 |
if (pos==start) return 0; |
|
310
|
8 |
0 |
if (get_ulong(buf+start,pos-start,&day)!=pos-start) return 0; |
|
315
|
8 |
16 |
if (' '==buf[pos]) { |
|
317
|
8 |
0 |
if (pos-start!=2 && pos-start!=4) return 0; |
|
318
|
8 |
0 |
if (get_ulong(buf+start,pos-start,&year)!=pos-start) return 0; |
|
320
|
8 |
0 |
if (!fix_year(&year)) return 0; |
|
324
|
8 |
8 |
if (' ' == buf[pos]) continue; |
|
330
|
8 |
0 |
if (!x) return 0; |
|
332
|
8 |
0 |
if (pos==len) return 0; |
|
336
|
88 |
8 |
if (' ' == buf[pos]) continue; |
|
341
|
8 |
36 |
if (' ' == buf[pos]) { |
|
342
|
4 |
4 |
if (get_uint64(buf+start,pos-start,&size)!=pos-start) { |
|
343
|
4 |
0 |
if (pos-start < 5 |
|
344
|
4 |
0 |
|| !my_byte_equal(buf+start,5,"")) |
|
357
|
36 |
8 |
if (' ' == buf[pos]) |
|
358
|
36 |
0 |
if (--maxspaces) |
|
369
|
4 |
4 |
if (flagtryretr) { |
|
373
|
8 |
0 |
if (!fix_year(&year)) return 0; |
|
389
|
2448 |
46 |
for (pos=start=0;pos
|
|
390
|
1576 |
872 |
if (inword) { |
|
391
|
315 |
1261 |
if (' ' == buf[pos]) { |
|
394
|
1 |
314 |
if (count==MAXWORDS) { |
|
400
|
361 |
511 |
if (' ' != buf[pos]) { |
|
407
|
46 |
1 |
if (inword) { |
|
429
|
1 |
8 |
if (count<4) return 0; |
|
435
|
1 |
0 |
if (!x || x>2 || day>31) return 0; |
|
|
1 |
0 |
if (!x || x>2 || day>31) return 0; |
|
436
|
1 |
0 |
if (q[x] != '-') return 0; |
|
440
|
1 |
0 |
if (-1==mon) return 0; |
|
441
|
1 |
0 |
if (q[3]!='-') return 0; |
|
443
|
1 |
0 |
if (m<5) return 0; |
|
446
|
1 |
0 |
if (!x || q[x]!=' ') return 0; |
|
|
1 |
0 |
if (!x || q[x]!=' ') return 0; |
|
447
|
1 |
0 |
if (!fix_year(&year)) return 0; |
|
450
|
1 |
0 |
if (x!=l[3]) return 0; |
|
455
|
11 |
0 |
for (x=0;x
|
|
456
|
10 |
1 |
if (p[0][x]==';') |
|
458
|
1 |
0 |
if (x>4) |
|
459
|
1 |
0 |
if (p[0][x-4]=='.' |
|
460
|
1 |
0 |
&& p[0][x-3]=='D' |
|
461
|
0 |
1 |
&& p[0][x-2]=='I' |
|
462
|
0 |
0 |
&& p[0][x-1]=='R') { |
|
466
|
1 |
0 |
if (!f->flagtrycwd) |
|
471
|
0 |
1 |
if (f->name[0]=='[') { |
|
474
|
0 |
0 |
for (y=1;ynamelen;y++) |
|
475
|
0 |
0 |
if (f->name[y]==']') |
|
477
|
0 |
0 |
if (y!=f->namelen) y++; /* skip ] */ |
|
478
|
0 |
0 |
if (y!=f->namelen) { |
|
549
|
0 |
39 |
if (l[1]==6 && my_byte_equal(p[1],l[1],"folder")) |
|
|
0 |
0 |
if (l[1]==6 && my_byte_equal(p[1],l[1],"folder")) |
|
553
|
1 |
38 |
if (x==l[i]) may_have_size=1; |
|
556
|
76 |
1 |
while (i
|
|
558
|
38 |
38 |
if (-1==mon) { |
|
561
|
38 |
0 |
if (x==l[i]) may_have_size=1; |
|
564
|
38 |
38 |
if (-1!=mon) break; |
|
566
|
39 |
0 |
if (i==count) return 0; |
|
569
|
38 |
1 |
if (!x) return 0; |
|
570
|
38 |
0 |
if (p[i][x]!=' ') return 0; |
|
571
|
38 |
0 |
if (++i==count) return 0; |
|
574
|
38 |
0 |
if (!x) return 0; |
|
575
|
37 |
1 |
if (p[i][x]==':') { |
|
577
|
37 |
0 |
if (x!=l[i]) return 0; |
|
584
|
0 |
1 |
if (i+2
|
|
586
|
0 |
0 |
if (x!=l[i+1]) { |
|
592
|
1 |
0 |
if (!fix_year(&year)) return 0; |
|
594
|
38 |
0 |
if (++i==count) return 0; |
|
602
|
38 |
0 |
if (p[0][1]!=' ') { |
|
603
|
0 |
38 |
while (f->name[-2]==' ') { |
|
608
|
38 |
0 |
if (may_have_size) { |
|
618
|
1 |
37 |
if ('l'==*buf) { |
|
620
|
6 |
0 |
for (j=1;jnamelen-4;j++) /* 1, -4: no empty names, please */ |
|
621
|
1 |
5 |
if (f->name[j]==' ' |
|
622
|
1 |
0 |
&& f->name[j+1]=='-' |
|
623
|
1 |
0 |
&& f->name[j+2]=='>' |
|
624
|
1 |
0 |
&& f->name[j+3]==' ') { |
|
650
|
0 |
8 |
if (count<4) return 0; |
|
652
|
0 |
0 |
if (x!=l[3]) return 0; |
|
656
|
0 |
0 |
if (x!=2 || p[2][x]!='-') return 0; |
|
|
0 |
0 |
if (x!=2 || p[2][x]!='-') return 0; |
|
659
|
0 |
0 |
if (x!=5 || p[2][x]!='-') return 0; |
|
|
0 |
0 |
if (x!=5 || p[2][x]!='-') return 0; |
|
662
|
0 |
0 |
if ((x!=8 && x!=10) || p[2][x]!=' ') return 0; |
|
|
0 |
0 |
if ((x!=8 && x!=10) || p[2][x]!=' ') return 0; |
|
663
|
0 |
0 |
if (!fix_year(&year)) return 0; |
|
664
|
0 |
0 |
if (my_byte_equal(p[1],5,"")) |
|
668
|
0 |
0 |
if (!x || p[1][x]!=' ') return 0; |
|
|
0 |
0 |
if (!x || p[1][x]!=' ') return 0; |
|
674
|
0 |
0 |
if (!dir) |
|
678
|
0 |
0 |
if (dir) f->flagtrycwd=1; |
|
705
|
0 |
0 |
if (count<4) return 0; |
|
708
|
0 |
0 |
if (!x || p[0][x]!=' ') return 0; |
|
|
0 |
0 |
if (!x || p[0][x]!=' ') return 0; |
|
710
|
0 |
0 |
for (i=1; i
|
|
712
|
0 |
0 |
if (!x) continue; |
|
713
|
0 |
0 |
if (x!=2 || p[i][x]!='-') return 0; |
|
|
0 |
0 |
if (x!=2 || p[i][x]!='-') return 0; |
|
717
|
0 |
0 |
if (x!=5 || p[i][x]!='-') return 0; |
|
|
0 |
0 |
if (x!=5 || p[i][x]!='-') return 0; |
|
720
|
0 |
0 |
if (x!=8 || p[i][x]!=' ') return 0; |
|
|
0 |
0 |
if (x!=8 || p[i][x]!=' ') return 0; |
|
721
|
0 |
0 |
if (!fix_year(&year)) return 0; |
|
724
|
0 |
0 |
if (i>1) |
|
725
|
0 |
0 |
if (my_byte_equal(p[i-1],3,"DIR")) |
|
729
|
0 |
0 |
if (i==count) return 0; |
|
731
|
0 |
0 |
if (x!=l[i]) return 0; |
|
733
|
0 |
0 |
if (i==count) return 0; |
|
737
|
0 |
0 |
if (dir) { |
|
781
|
0 |
0 |
if (is_mlst) |
|
782
|
0 |
0 |
if (ll>1) { |
|
786
|
0 |
0 |
if (ll<2) /* empty facts, space, one-byte-filename */ |
|
789
|
0 |
0 |
for (i=0; i
|
|
791
|
0 |
0 |
if (x[i]==' ') |
|
793
|
0 |
0 |
while (i+j
|
|
|
0 |
0 |
while (i+j
|
|
|
0 |
0 |
while (i+j
|
|
|
0 |
0 |
while (i+j
|
|
795
|
0 |
0 |
if (i+j==ll) |
|
797
|
0 |
0 |
if (x[i+j]==' ') |
|
799
|
0 |
0 |
if (x[i+j]==';') |
|
802
|
0 |
0 |
while (i+j+k
|
|
|
0 |
0 |
while (i+j+k
|
|
|
0 |
0 |
while (i+j+k
|
|
804
|
0 |
0 |
if (i+j+k==ll) |
|
808
|
0 |
0 |
if (ISFACT ("size")) { |
|
|
0 |
0 |
if (ISFACT ("size")) { |
|
811
|
0 |
0 |
} else if (ISFACT ("modify")) { |
|
|
0 |
0 |
} else if (ISFACT ("modify")) { |
|
814
|
0 |
0 |
} else if (ISFACT ("type")) { |
|
|
0 |
0 |
} else if (ISFACT ("type")) { |
|
815
|
0 |
0 |
if (k==5 && case_startb (x + i + j + 1, 4, "file")) |
|
|
0 |
0 |
if (k==5 && case_startb (x + i + j + 1, 4, "file")) |
|
817
|
0 |
0 |
else if (case_startb (x + i + j + 1, 3, "dir")) /* "current" */ |
|
819
|
0 |
0 |
else if (case_startb (x + i + j + 1, 4, "pdir")) /* "parent" */ |
|
821
|
0 |
0 |
else if (case_startb (x + i + j + 1, 4, "cdir")) |
|
827
|
0 |
0 |
} else if (ISFACT ("unique")) { |
|
|
0 |
0 |
} else if (ISFACT ("unique")) { |
|
832
|
0 |
0 |
if (x[i]==' ') { |
|
837
|
0 |
0 |
if (ll==i) return 0; |
|
839
|
0 |
0 |
if (ll==i) return 0; |
|
848
|
0 |
0 |
if (id) { |
|
867
|
55 |
4 |
if (len < 2) /* an empty name in EPLF, with no info, could be 2 chars */ |
|
873
|
0 |
0 |
if (parse_eplf(fp,buf,len)) |
|
878
|
0 |
8 |
if (parse_msdos(fp,buf,len)) return 1; |
|
884
|
39 |
8 |
switch(*buf) { |
|
887
|
1 |
38 |
if (parse_unix(fp,buf,len,p,l,count)) return 1; |
|
891
|
0 |
9 |
if (*buf==' ') { |
|
892
|
0 |
0 |
switch(p[0][0]) { |
|
895
|
0 |
0 |
if (parse_os2(fp,p,l,count)) return 1; |
|
900
|
8 |
1 |
if (parse_multinet(fp,p,l,count)) return 1; |
|
901
|
8 |
0 |
if (parse_supertcp(fp,p,l,count)) return 1; |
|
909
|
47 |
12 |
if (!x) return x; |
|
910
|
0 |
47 |
if (eat_leading_spaces && fp->format!=FTPPARSE_FORMAT_EPLF |
|
|
0 |
0 |
if (eat_leading_spaces && fp->format!=FTPPARSE_FORMAT_EPLF |
|
911
|
0 |
0 |
&& fp->format!=FTPPARSE_FORMAT_MLSX) |
|
912
|
0 |
0 |
while (fp->namelen > 1 && fp->name[0]==' ') { |
|
|
0 |
0 |
while (fp->namelen > 1 && fp->name[0]==' ') { |