+ if (fd1 == -1 && protocol_version < 29) {
+ if (fnamecmp != fname) {
+ fnamecmp = fname;
+ fd1 = do_open(fnamecmp, O_RDONLY, 0);
+ }
+
+ if (fd1 == -1 && basis_dir[0]) {
+ /* pre-29 allowed only one alternate basis */
+ pathjoin(fnamecmpbuf, sizeof fnamecmpbuf,
+ basis_dir[0], fname);
+ fnamecmp = fnamecmpbuf;
+ fd1 = do_open(fnamecmp, O_RDONLY, 0);
+ }
+ }
+