From: Christian Bodt Date: 2010-03-05T22:24:01+09:00 Subject: [ruby-core:28504] Patch for : ext\dl\handle.c --001636416dd1bcee5504810da00b Content-Type: multipart/alternative; boundary=001636416dd1bcee4c04810da009 --001636416dd1bcee4c04810da009 Content-Type: text/plain; charset=UTF-8 Hi, It's the first time I try to contribute to the ruby project. I'd like to propose this small patch to make the dlhandle_sym function a little more readable. * ext/dl/handle.c (dlhandle_sym): Added xdlsym function and replaced CHECK_DLERROR with 'xdlsym' Initially, I wanted to add the support for loading of symbols with the format "_function@NNN" (from MSCV dlls) but the "dlhandle_sym" function was a little to complex to implement it without some refactoring. I will need some more patches to achieve this :) I tried to keep this patch very simple. What do you think? Christian Bodt --001636416dd1bcee4c04810da009 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi,

It's the first time I try to contribute to the ruby project.=
I'd like to propose this small patch to make the dlhandle_sym funct= ion a little more readable.
=C2=A0 =C2=A0=C2= =A0 * ext/dl/handle.c (dlhandle_sym): Added xdlsym function and replaced CH= ECK_DLERROR with 'xdlsym'

Initially, I wanted to add the support for loading of symbols with the = format "_function@NNN" (from MSCV dlls) but the "dlhandle_sy= m" function was a little to complex to implement it without some refac= toring. I will need some more patches to achieve this :)

I tried to keep this patch very simple.
What do you think?

C= hristian Bodt

--001636416dd1bcee4c04810da009-- --001636416dd1bcee5504810da00b Content-Type: application/octet-stream; name="simpler_dlerror_check.patch" Content-Disposition: attachment; filename="simpler_dlerror_check.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g6f07nwi0 SW5kZXg6IGhhbmRsZS5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gaGFuZGxlLmMJKHJldmlzaW9uIDI2ODE4 KQ0KKysrIGhhbmRsZS5jCSh3b3JraW5nIGNvcHkpDQpAQCAtNTIsNiArNTIsMjMgQEANCiB9Owog CiAvKgorICogIAl4ZGxzeW06CWRsc3ltIHdpdGggZGxlcnJvcigpIGNoZWNrIAorICovCitzdGF0 aWMgdm9pZCoKK3hkbHN5bSh2b2lkICpoYW5kbGUsIGNvbnN0IGNoYXIgKm5hbWUpCit7CisgICAg dm9pZCAoKmZ1bmMpKCk7CisKKwlmdW5jID0gZGxzeW0oaGFuZGxlLCBuYW1lKTsJCisjaWYgZGVm aW5lZChIQVZFX0RMRVJST1IpCisgICAgY29uc3QgY2hhciAqZXJyOworCWlmKCBlcnIgPSBkbGVy cm9yKCkgKQorCQlmdW5jID0gMDsKKyNlbmRpZgorCXJldHVybiAoZnVuYyk7Cit9CisKKy8qCiAg KiBjYWxsLXNlcTogY2xvc2UKICAqCiAgKiBDbG9zZSB0aGlzIERMOjpIYW5kbGUuICBDYWxsaW5n IGNsb3NlIG1vcmUgdGhhbiBvbmNlIHdpbGwgcmFpc2UgYQpAQCAtMjk2LDE3ICszMTMsMTAgQEAN CiBzdGF0aWMgVkFMVUUKIGRsaGFuZGxlX3N5bSh2b2lkICpoYW5kbGUsIGNvbnN0IGNoYXIgKm5h bWUpCiB7Ci0jaWYgZGVmaW5lZChIQVZFX0RMRVJST1IpCi0gICAgY29uc3QgY2hhciAqZXJyOwot IyBkZWZpbmUgQ0hFQ0tfRExFUlJPUiBpZiggZXJyID0gZGxlcnJvcigpICl7IGZ1bmMgPSAwOyB9 Ci0jZWxzZQotIyBkZWZpbmUgQ0hFQ0tfRExFUlJPUgotI2VuZGlmCiAgICAgdm9pZCAoKmZ1bmMp KCk7CiAKICAgICByYl9zZWN1cmUoMik7Ci0gICAgZnVuYyA9IGRsc3ltKGhhbmRsZSwgbmFtZSk7 Ci0gICAgQ0hFQ0tfRExFUlJPUjsKKyAgICBmdW5jID0geGRsc3ltKGhhbmRsZSwgbmFtZSk7CiAj aWYgZGVmaW5lZChGVU5DX1NURENBTEwpCiAgICAgaWYoICFmdW5jICl7CiAJaW50ICBpOwpAQCAt MzE5LDggKzMyOSw3IEBADQogCSAgICBuYW1lX24gPSBuYW1lX2E7CiAJICAgIG5hbWVfYVtsZW5d ICAgPSAnQSc7CiAJICAgIG5hbWVfYVtsZW4rMV0gPSAnXDAnOwotCSAgICBmdW5jID0gZGxzeW0o aGFuZGxlLCBuYW1lX2EpOwotCSAgICBDSEVDS19ETEVSUk9SOworCSAgICBmdW5jID0geGRsc3lt KGhhbmRsZSwgbmFtZV9hKTsKIAkgICAgaWYoIGZ1bmMgKSBnb3RvIGZvdW5kOwogCSAgICBuYW1l X24gPSB4cmVhbGxvYyhuYW1lX2EsIGxlbis2KTsKIAl9CkBAIC0zMzEsOCArMzQwLDcgQEANCiAJ bmFtZV9uW2xlbisrXSA9ICdAJzsKIAlmb3IoIGkgPSAwOyBpIDwgMjU2OyBpICs9IDQgKXsKIAkg ICAgc3ByaW50ZihuYW1lX24gKyBsZW4sICIlZCIsIGkpOwotCSAgICBmdW5jID0gZGxzeW0oaGFu ZGxlLCBuYW1lX24pOwotCSAgICBDSEVDS19ETEVSUk9SOworCSAgICBmdW5jID0geGRsc3ltKGhh bmRsZSwgbmFtZV9uKTsKIAkgICAgaWYoIGZ1bmMgKSBicmVhazsKIAl9CiAJaWYoIGZ1bmMgKSBn b3RvIGZvdW5kOwpAQCAtMzQwLDggKzM0OCw3IEBADQogCW5hbWVfbltsZW4rK10gPSAnQCc7CiAJ Zm9yKCBpID0gMDsgaSA8IDI1NjsgaSArPSA0ICl7CiAJICAgIHNwcmludGYobmFtZV9uICsgbGVu LCAiJWQiLCBpKTsKLQkgICAgZnVuYyA9IGRsc3ltKGhhbmRsZSwgbmFtZV9uKTsKLQkgICAgQ0hF Q0tfRExFUlJPUjsKKwkgICAgZnVuYyA9IHhkbHN5bShoYW5kbGUsIG5hbWVfbik7CiAJICAgIGlm KCBmdW5jICkgYnJlYWs7CiAJfQogICAgICAgZm91bmQ6Cg== --001636416dd1bcee5504810da00b--