On Mon, 22 Jul 2013 20:12:45 +0200 Roland Mainz wrote: > --089e0149cb8086aeb604e21d9ff5 > Content-Type: text/plain; charset=ISO-8859-1
> Hi! > ---- > Attached (as "astksh20130719_cd_fix001.diff.txt") is a patch to fix > the following issues with the cd(1) buildin: > 1. error handling in cd(1) is fixed > 2. cd(1) no longer uses |stat()| to validate whether the opened file > name is a directory if |O_DIRECTORY| is set. This saves a syscall. > 3. cd(1) now opens directories first without |O_SEARCH| and if this > fails tries again with |O_SEARCH|. This is mainly to ensure the error > messages are the same as for other shells. This could should not be > moved into libast since this backwards-compatibility support is only > for the cd(1) builtin. Needed for Solaris/Illumos to boot correctly... > ;-/ I don't understand why this is specific to the cd(1) builtin it seems that any other open(O_DIRECTORY) would want to report the same error when dealing with an XATTR file > 4. ksh93 now closes the directory fd on exit... a) for correctness and > b) to circumvent an annoying issue which triggers a crash in > "valgrind" ... which disrupts testing > 5. dead code removal in src/cmd/ksh93/sh/init.c > The patch should be pretty much safe to use... it was previously part > of the "ast_ksh_20130628/astksh20130628_solaris_fixes005.diff.txt" > patch cluster for ast-ksh.2013-06-28 ... > ---- > Bye, > Roland > -- > __ . . __ > (o.\ \/ /.o) [email protected] > \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer > /O /==\ O\ TEL +49 641 3992797 > (;O/ \/ \O;) > --089e0149cb8086aeb604e21d9ff5 > Content-Type: text/plain; charset=US-ASCII; > name="astksh20130719_cd_fix001.diff.txt" > Content-Disposition: attachment; > filename="astksh20130719_cd_fix001.diff.txt" > Content-Transfer-Encoding: base64 > X-Attachment-Id: f_hjfzjvm60 > ZGlmZiAtciAtdSBvcmlnaW5hbC9zcmMvY21kL2tzaDkzL2JsdGlucy9jZF9wd2QuYyBidWlsZF9p > Mzg2XzY0Yml0X2RlYnVnX2NkZml4ZXMvc3JjL2NtZC9rc2g5My9ibHRpbnMvY2RfcHdkLmMKLS0t > IHNyYy9jbWQva3NoOTMvYmx0aW5zL2NkX3B3ZC5jCTIwMTMtMDctMDkgMjM6MTk6MDkuMDAwMDAw > MDAwICswMjAwCisrKyBzcmMvY21kL2tzaDkzL2JsdGlucy9jZF9wd2QuYwkyMDEzLTA3LTIyIDE5 > OjQ2OjQ5LjUxNTY5OTM3MyArMDIwMApAQCAtNTUsOSArNTUsMTcgQEAKICAqLwogaW50IHNoX2Rp > cm9wZW5hdChTaGVsbF90ICpzaHAsIGludCBkaXIsIGNvbnN0IGNoYXIgKnBhdGgsIGJvb2wgeGF0 > dHIpCiB7CisjaWZkZWYgT19ESVJFQ1RPUlkKKyNkZWZpbmUgT19kaXJlY3RvcnkgKE9fRElSRUNU > T1JZKQorI2Vsc2UKKyNkZWZpbmUgT19kaXJlY3RvcnkgKDApCisjZW5kaWYKKwogCWludCBmZCxz > aGZkOwotCWludCBzYXZlZGVycm5vPWVycm5vOworCWludCBzYXZlZGVycm5vOworI2lmbmRlZiBP > X0RJUkVDVE9SWQogCXN0cnVjdCBzdGF0IGZzOworI2VuZGlmCiAjaWZuZGVmIE9fWEFUVFIKIAlO > T1RfVVNFRCh4YXR0cik7CiAjZW5kaWYKQEAgLTcwLDIxICs3OCw1NiBAQAogCQlpZigoYXBmZCA9 > IG9wZW5hdChkaXIsIHBhdGgsIE9fUkRPTkxZfE9fTk9OQkxPQ0t8T19jbG9leGVjKSk+PTApCiAJ > CXsKIAkJCWZkID0gb3BlbmF0KGFwZmQsIGVfZG90LCBPX1hBVFRSfE9fY2xvZXhlYyk7CisJCQlz > YXZlZGVycm5vPWVycm5vOwogCQkJY2xvc2UoYXBmZCk7CisJCQllcnJubz1zYXZlZGVycm5vOwor > CQl9CisJCWVsc2UKKwkJeworCQkJcmV0dXJuKC0xKTsKIAkJfQogCX0KIAllbHNlCiAjZW5kaWYK > LQkJZmQgPSBvcGVuYXQoZGlyLCBwYXRoLCBPX1NFQVJDSHxPX05PTkJMT0NLfE9fY2xvZXhlYyk7 > CisJeworCQkvKgorCQkgKiBPcGVuIGRpcmVjdG9yeS4gRmlyc3Qgd2UgdHJ5IHdpdGhvdXQgfE9f > U0VBUkNIfCBhbmQKKwkJICogaWYgdGhpcyBmYWlscyB3aXRoIEVBQ0NFU1Mgd2UgdHJ5IHdpdGgg > fE9fU0VBUkNIfAorCQkgKiBhZ2Fpbi4KKwkJICogVGhpcyBpcyByZXF1aXJlZCAuLi4KKwkJICog > LSAuLi4gYmVjYXVzZSBzb21lIHBsYXRmb3JtcyBtYXkgcmVxdWlyZSB0aGF0IGl0IGNhbgorCQkg > KiBvbmx5IGJlIHVzZWQgZm9yIGRpcmVjdG9yaWVzIHdoaWxlIHNvbWUgZmlsZXN5c3RlbXMKKwkJ > ICogKGUuZy4gUmVpc2VyNCBvciBIU00gc3lzdGVtcykgYWxsb3cgYSB8ZmNoZGlyKCl8IGludG8K > KwkJICogZmlsZXMsIHRvbykKKwkJICogLSAuLi4gdG8gcHJlc2VydmUgdGhlIHNlbWFudGljcyBv > ZiAiY2QiLCBlLmcuCisJCSAqIG90aGVyd2lzZSAiY2QiIHdvdWxkIHJldHVybiBbTm8gYWNjZXNz > XSBpbnN0ZWFkIG9mCisJCSAqIFtOb3QgYSBkaXJlY3RvcnldIGZvciBmaWxlcyBvbiBmaWxlc3lz > dGVtcyB3aGljaCBkbworCQkgKiBub3QgYWxsb3cgYSAiY2QiIGludG8gZmlsZXMuCisJCSAqIC0g > Li4uIHRvIGFsbG93IHRoYXQgYQorCQkgKiAkIHJlZGlyZWN0IHtufTwvZXRjIDsgY2QgL2Rldi9m > ZC8kbiAjIHdvcmtzIG9uIG1vc3QKKwkJICogcGxhdGZvcm1zLgorCQkgKi8KKworCQlmZCA9IG9w > ZW5hdChkaXIsIHBhdGgsIE9fZGlyZWN0b3J5fE9fTk9OQkxPQ0t8T19jbG9leGVjKTsKKwkJaWYg > KChmZCA8IDApICYmIChlcnJubyA9PSBFQUNDRVMpKQorCQl7CisJCQlmZCA9IG9wZW5hdChkaXIs > IHBhdGgsIE9fU0VBUkNIfE9fZGlyZWN0b3J5fE9fTk9OQkxPQ0t8T19jbG9leGVjKTsKKwkJfQor > CX0KIAogCWlmKGZkIDwgMCkKLQkJcmV0dXJuIGZkOworCXsKKwkJcmV0dXJuKGZkKTsKKwl9CisK > KyNpZm5kZWYgT19ESVJFQ1RPUlkKIAlpZiAoIWZzdGF0KGZkLCAmZnMpICYmICFTX0lTRElSKGZz > LnN0X21vZGUpKQogCXsKIAkJY2xvc2UoZmQpOwogCQllcnJubyA9IEVOT1RESVI7Ci0JCXJldHVy > biAtMTsKKwkJcmV0dXJuKC0xKTsKIAl9CisjZW5kaWYKIAogCS8qIE1vdmUgZmQgdG8gYSBudW1i > ZXIgPiAxMCBhbmQgcmVnaXN0ZXIgdGhlIGZkIG51bWJlciB3aXRoIHRoZSBzaGVsbCAqLwogCXNo > ZmQgPSBzaF9mY250bChmZCwgRl9kdXBmZF9jbG9leGVjLCAxMCk7CkBAIC0zMjksMTEgKzM3Miw3 > IEBACiAJCQkJaWYoc2hwLT5wd2RmZCA+PSAwKQogCQkJCXsKIAkJCQkJc2hfY2xvc2Uoc2hwLT5w > d2RmZCk7Ci0jaWZkZWYgQVRfRkRDV0QKIAkJCQkJc2hwLT5wd2RmZCA9IEFUX0ZEQ1dEOwotI2Vs > c2UKLQkJCQkJc2hwLT5wd2RmZCA9IC0xOwotI2VuZGlmCiAJCQkJfQogCQkJfQogCQl9CmRpZmYg > LXIgLXUgb3JpZ2luYWwvc3JjL2NtZC9rc2g5My9pbmNsdWRlL3NoZWxsLmggYnVpbGRfaTM4Nl82 > NGJpdF9kZWJ1Z19jZGZpeGVzL3NyYy9jbWQva3NoOTMvaW5jbHVkZS9zaGVsbC5oCi0tLSBzcmMv > Y21kL2tzaDkzL2luY2x1ZGUvc2hlbGwuaAkyMDEzLTA2LTI3IDIzOjQzOjA2LjAwMDAwMDAwMCAr > MDIwMAorKysgc3JjL2NtZC9rc2g5My9pbmNsdWRlL3NoZWxsLmgJMjAxMy0wNy0yMiAxOTo0MDoz > Ny40MDMxMTA2NjkgKzAyMDAKQEAgLTE1NSw3ICsxNTUsNyBAQAogCWNoYXIJCXNoY29tcDsJCS8q > IHNldCB3aGVuIHJ1bmluZyBzaGNvbXAgKi8KIAlzaG9ydAkJc3Vic2hlbGw7CS8qIHNldCBmb3Ig > dmlydHVhbCBzdWJzaGVsbCAqLwogCVN0a190CQkqc3RrOwkJLyogc3RhY2sgcG9pdGVyICovCi0J > aW50CQlwd2RmZDsJCS8qIGZpbGUgZGVzY3JpcHRvciBmb3IgcHdkICovCisJaW50CQlwd2RmZDsJ > CS8qIGZpbGUgZGVzY3JpcHRvciBmb3IgcHdkIChtdXN0IGJlIGZyb20gc2hfZGlyb3BlbmF0KCkv > c2hfZmNudGwoKSEpICovCiAjaWZkZWYgX1NIX1BSSVZBVEUKIAlfU0hfUFJJVkFURQogI2VuZGlm > IC8qIF9TSF9QUklWQVRFICovCmRpZmYgLXIgLXUgb3JpZ2luYWwvc3JjL2NtZC9rc2g5My9zaC9m > YXVsdC5jIGJ1aWxkX2kzODZfNjRiaXRfZGVidWdfY2RmaXhlcy9zcmMvY21kL2tzaDkzL3NoL2Zh > dWx0LmMKLS0tIHNyYy9jbWQva3NoOTMvc2gvZmF1bHQuYwkyMDEzLTA3LTExIDE3OjQ0OjU3LjAw > MDAwMDAwMCArMDIwMAorKysgc3JjL2NtZC9rc2g5My9zaC9mYXVsdC5jCTIwMTMtMDctMjIgMTk6 > NDI6NDEuNjA1NjU1ODUzICswMjAwCkBAIC02ODgsNiArNjg4LDEwIEBACiAJaWYoc2hfaXNvcHRp > b24oc2hwLFNIX05PRVhFQykpCiAJCWtpYWNsb3NlKChMZXhfdCopc2hwLT5sZXhfY29udGV4dCk7 > CiAjZW5kaWYgLyogU0hPUFRfS0lBICovCisKKwlpZiAoc2hwLT5wd2RmZCA+PSAwKQorCQlzaF9j > bG9zZShzaHAtPnB3ZGZkKTsKKwogCWV4aXQoc2F2eGl0JlNIX0VYSVRNQVNLKTsKIH0KIApkaWZm > IC1yIC11IG9yaWdpbmFsL3NyYy9jbWQva3NoOTMvc2gvaW5pdC5jIGJ1aWxkX2kzODZfNjRiaXRf > ZGVidWdfY2RmaXhlcy9zcmMvY21kL2tzaDkzL3NoL2luaXQuYwotLS0gc3JjL2NtZC9rc2g5My9z > aC9pbml0LmMJMjAxMy0wNy0xOCAxOToyMjoxMC4wMDAwMDAwMDAgKzAyMDAKKysrIHNyYy9jbWQv > a3NoOTMvc2gvaW5pdC5jCTIwMTMtMDctMjIgMTk6NDE6MzguMTEyMjY1NTQ4ICswMjAwCkBAIC0x > NTUwLDE2ICsxNTUwLDExIEBACiAJCX0KIAl9CiAJc2hfaW9pbml0KHNocCk7Ci0jaWZkZWYgQVRf > RkRDV0QKLSAgICAgICBzaHAtPnB3ZGZkID0gc2hfZGlyb3BlbmF0KHNocCwgQVRfRkRDV0QsIGVf > ZG90LCBmYWxzZSk7Ci0jZWxzZQotICAgICAgIC8qIFN5c3RlbXMgd2l0aG91dCBBVF9GRENXRC9v > cGVuYXQoKSBkbyBub3QgdXNlIHRoZSB8ZGlyfCBhcmd1bWVudCAqLwotICAgICAgIHNocC0+cHdk > ZmQgPSBzaF9kaXJvcGVuYXQoc2hwLCAtMSwgZV9kb3QsIGZhbHNlKTsKLSNlbmRpZgorCXNocC0+ > cHdkZmQgPSBzaF9kaXJvcGVuYXQoc2hwLCBBVF9GRENXRCwgZV9kb3QsIGZhbHNlKTsKICNpZmRl > ZiBPX1NFQVJDSAotICAgICAgIC8qIFRoaXMgc2hvdWxkIF9uZXZlcl8gaGFwcGVuLCBndXJhbnRl > ZWQgYnkgZGVzaWduIGFuZCBnb2F0IHNhY3JpZmljZSAqLwotICAgICAgIGlmKHNocC0+cHdkZmQg > PCAwKQotICAgICAgICAgICAgICAgZXJyb3Jtc2coU0hfRElDVCxFUlJPUl9zeXN0ZW0oMSksICJD > YW4ndCBvYnRhaW4gZGlyZWN0b3J5IGZkLiIpOworCS8qIFRoaXMgc2hvdWxkIF9uZXZlcl8gaGFw > cGVuLCBndXJhbnRlZWQgYnkgZGVzaWduIGFuZCBnb2F0IHNhY3JpZmljZSAqLworCWlmKHNocC0+ > cHdkZmQgPCAwKQorCQllcnJvcm1zZyhTSF9ESUNULEVSUk9SX3N5c3RlbSgxKSwgIkNhbid0IG9i > dGFpbiBkaXJlY3RvcnkgZmQuIik7CiAjZW5kaWYKIAogCS8qIGluaXRpYWxpemUgc2lnbmFsIGhh > bmRsaW5nICovCg== > --089e0149cb8086aeb604e21d9ff5-- _______________________________________________ ast-developers mailing list [email protected] http://lists.research.att.com/mailman/listinfo/ast-developers
