libmagic python bindings
Christos Zoulas
christos at zoulas.com
Tue Oct 7 19:42:09 EDT 2003
On Oct 7, 2:57pm, brettf at deepfile.com ("Brett Funderburg") wrote:
-- Subject: libmagic python bindings
Yes, definitely there is interest. At least as a first step, we can include
the source and then we can visit the autoconf stuff later. I am an autoconf
dummy too (and I like to stay that way).
christos
| Greetings,
|
| I have written a python wrapper around libmagic. I'm wondering if the
| maintainers would like to add it to the source distribution. I'm currently
| building it by hand (using distutils) after going through the configure,
| make, make install routine for 'file' but it might be nice to have the
| python module build process integrated with the regular build for 'file'.
| Perhaps something like ./configure --with-python. Unfortunately, I've
| never used autoconf/automake so I have no idea how to do this.
|
| I've posted the .c file for review. Hit me back if there's interest and
| I'll post the .h and distutils build file.
|
| Regards,
|
| brett
| ------=_20031007145726_30296
| Content-Type: application/octet-stream; name="py_magic.c"
| Content-Transfer-Encoding: base64
| Content-Disposition: attachment; filename="py_magic.c"
|
| LyoKICAgUHl0aG9uIHdyYXBwZXJzIGZvciBtYWdpYyBmdW5jdGlvbnMuCgogICBDb3B5cmlnaHQg
| KEMpIEJyZXR0IEZ1bmRlcmJ1cmcsIERlZXBmaWxlIENvcnAuIEF1c3RpbiwgVFgsIFVTIDIwMDMK
| CiAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
| dCBhbmQvb3IgbW9kaWZ5CiAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg
| UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
| YXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiAgIChhdCB5b3VyIG9w
| dGlvbikgYW55IGxhdGVyIHZlcnNpb24uIAoKICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk
| IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAgIGJ1dCBXSVRIT1VUIEFOWSBX
| QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAgIE1FUkNIQU5U
| QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICAg
| R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KCiAgIFlvdSBzaG91
| bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
| CiAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNv
| ZnR3YXJlCiAgIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAw
| MjEzOSwgVVNBLgoqLwoKI2luY2x1ZGUgPFB5dGhvbi5oPgojaW5jbHVkZSA8bWFnaWMuaD4KI2lu
| Y2x1ZGUgInB5X21hZ2ljLmgiCgovKiBFeGNlcHRpb25zIHJhaXNlZCBieSB0aGlzIG1vZHVsZSAq
| LwoKUHlPYmplY3QqIG1hZ2ljX2Vycm9yX29iajsKCi8qIENyZWF0ZSBhIG5ldyBtYWdpY19jb29r
| aWVfaG5kIG9iamVjdCAqLwpQeU9iamVjdCogbmV3X21hZ2ljX2Nvb2tpZV9oYW5kbGUobWFnaWNf
| dCBjb29raWUpCnsKICAgIG1hZ2ljX2Nvb2tpZV9obmQqIG1jaDsKCiAgICBtY2ggPSBQeU9iamVj
| dF9OZXcobWFnaWNfY29va2llX2huZCwgJm1hZ2ljX2Nvb2tpZV90eXBlKTsKCiAgICBtY2gtPmNv
| b2tpZSA9IGNvb2tpZTsKICAgIAogICAgcmV0dXJuIChQeU9iamVjdCopbWNoOwp9CgpzdGF0aWMg
| Y2hhciBfbWFnaWNfb3Blbl9fZG9jX19bXSA9IAoiUmV0dXJucyBhIG1hZ2ljIGNvb2tpZSBvbiBz
| dWNjZXNzIGFuZCBOb25lIG9uIGZhaWx1cmUuXG4iOwpzdGF0aWMgUHlPYmplY3QqIHB5X21hZ2lj
| X29wZW4oUHlPYmplY3QqIHNlbGYsIFB5T2JqZWN0KiBhcmdzKQp7CiAgICBpbnQgZmxhZ3MgPSAw
| OwogICAgbWFnaWNfdCBjb29raWU7CgogICAgaWYoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImki
| LCAmZmxhZ3MpKQogICAgICAgIHJldHVybiBOVUxMOwoKICAgIGlmKCEoY29va2llID0gbWFnaWNf
| b3BlbihmbGFncykpKQogICAgICAgIHJldHVybiBOVUxMOwoKICAgIHJldHVybiBuZXdfbWFnaWNf
| Y29va2llX2hhbmRsZShjb29raWUpOwp9CgpzdGF0aWMgY2hhciBfbWFnaWNfY2xvc2VfX2RvY19f
| W10gPQoiQ2xvc2VzIHRoZSBtYWdpYyBkYXRhYmFzZSBhbmQgZGVhbGxvY2F0ZXMgYW55IHJlc291
| cmNlcyB1c2VkLlxuIjsKc3RhdGljIFB5T2JqZWN0KiBweV9tYWdpY19jbG9zZShQeU9iamVjdCog
| c2VsZiwgUHlPYmplY3QqIGFyZ3MpCnsKICAgIG1hZ2ljX2Nvb2tpZV9obmQqIGhuZCA9IChtYWdp
| Y19jb29raWVfaG5kKilzZWxmOwoKICAgIG1hZ2ljX2Nsb3NlKGhuZC0+Y29va2llKTsKICAgIAog
| ICAgUHlfSU5DUkVGKFB5X05vbmUpOwogICAgcmV0dXJuIFB5X05vbmU7Cn0KCnN0YXRpYyBjaGFy
| IF9tYWdpY19lcnJvcl9fZG9jX19bXSA9CiJSZXR1cm5zIGEgdGV4dHVhbCBleHBsYW5hdGlvbiBv
| ZiB0aGUgbGFzdCBlcnJvciBvciBOb25lIFwKIGlmIHRoZXJlIHdhcyBubyBlcnJvci5cbiI7CnN0
| YXRpYyBQeU9iamVjdCogcHlfbWFnaWNfZXJyb3IoUHlPYmplY3QqIHNlbGYsIFB5T2JqZWN0KiBh
| cmdzKQp7CiAgICBtYWdpY19jb29raWVfaG5kKiBobmQgPSAobWFnaWNfY29va2llX2huZCopc2Vs
| ZjsKICAgIGNvbnN0IGNoYXIqIHJlc3VsdCA9IE5VTEw7CiAgICBQeU9iamVjdCogb2JqID0gTlVM
| TDsKCiAgICByZXN1bHQgPSBtYWdpY19lcnJvcihobmQtPmNvb2tpZSk7CgogICAgaWYocmVzdWx0
| ICE9IE5VTEwpCiAgICAgICAgb2JqID0gUHlTdHJpbmdfRnJvbVN0cmluZyhyZXN1bHQpOwogICAg
| ZWxzZSB7CiAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwogICAgICAgIG9iaiA9IFB5X05vbmU7
| CiAgICB9CgogICAgcmV0dXJuICBvYmo7Cn0KCnN0YXRpYyBjaGFyIF9tYWdpY19maWxlX19kb2Nf
| X1tdID0gCiJSZXR1cm5zIGEgdGV4dHVhbCBkZXNjcmlwdGlvbiBvZiB0aGUgY29udGVudHMgb2Yg
| dGhlIGFyZ3VtZW50IHBhc3NlZCBcCiBhcyBhIGZpbGVuYW1lIG9yIE5vbmUgaWYgYW4gZXJyb3Ig
| b2NjdXJyZWQuXG4iOwpzdGF0aWMgUHlPYmplY3QqIHB5X21hZ2ljX2ZpbGUoUHlPYmplY3QqIHNl
| bGYsIFB5T2JqZWN0KiBhcmdzKQp7CiAgICBtYWdpY19jb29raWVfaG5kKiBobmQgPSAobWFnaWNf
| Y29va2llX2huZCopc2VsZjsKICAgIGNoYXIqIGZpbGVuYW1lID0gTlVMTDsKICAgIGNvbnN0IGNo
| YXIqIHJlc3VsdCA9IE5VTEw7CiAgICBQeU9iamVjdCogb2JqID0gTlVMTDsKICAgIGludCBlcnIg
| PSAwOwoKICAgIGlmKCEoUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAicyIsICZmaWxlbmFtZSkpKQog
| ICAgICAgIHJldHVybiBOVUxMOwoKICAgIHJlc3VsdCA9IG1hZ2ljX2ZpbGUoaG5kLT5jb29raWUs
| IGZpbGVuYW1lKTsKCiAgICBpZihyZXN1bHQgIT0gTlVMTCkKICAgICAgICBvYmogPSBQeVN0cmlu
| Z19Gcm9tU3RyaW5nKHJlc3VsdCk7CiAgICBlbHNlCiAgICAgICAgUHlFcnJfU2V0U3RyaW5nKG1h
| Z2ljX2Vycm9yX29iaiwgImZhaWx1cmUgdHJ5aW5nIHRvIGRldGVybWluZSBmaWxlIHR5cGUiKTsK
| CiAgICByZXR1cm4gb2JqOwp9CgpzdGF0aWMgY2hhciBfbWFnaWNfYnVmZmVyX19kb2NfX1tdID0K
| IlJldHVybnMgYSB0ZXh0dWFsIGRlc2NyaXB0aW9uIG9mIHRoZSBjb250ZW50cyBvZiB0aGUgYXJn
| dW1lbnQgcGFzc2VkIFwKIGFzIGEgYnVmZmVyIG9yIE5vbmUgaWYgYW4gZXJyb3Igb2NjdXJyZWQu
| XG4iOwpzdGF0aWMgUHlPYmplY3QqIHB5X21hZ2ljX2J1ZmZlcihQeU9iamVjdCogc2VsZiwgUHlP
| YmplY3QqIGFyZ3MpCnsKICAgIG1hZ2ljX2Nvb2tpZV9obmQqIGhuZCA9IChtYWdpY19jb29raWVf
| aG5kKilzZWxmOwogICAgdm9pZCogYnVmZmVyID0gTlVMTDsKICAgIGludCBidWZmZXJfbGVuZ3Ro
| ID0gMDsKICAgIGNvbnN0IGNoYXIqIHJlc3VsdCA9IE5VTEw7CiAgICBQeU9iamVjdCogb2JqID0g
| TlVMTDsKCiAgICBpZighKFB5QXJnX1BhcnNlVHVwbGUoYXJncywgInMjIiwgKGNoYXIqKikmYnVm
| ZmVyLCAmYnVmZmVyX2xlbmd0aCkpKQogICAgICAgIHJldHVybiBOVUxMOwoKICAgIHJlc3VsdCA9
| IG1hZ2ljX2J1ZmZlcihobmQtPmNvb2tpZSwgYnVmZmVyLCBidWZmZXJfbGVuZ3RoKTsKCiAgICBp
| ZihyZXN1bHQgIT0gTlVMTCkKICAgICAgICBvYmogPSBQeVN0cmluZ19Gcm9tU3RyaW5nKHJlc3Vs
| dCk7CiAgICBlbHNlCiAgICAgICAgUHlFcnJfU2V0U3RyaW5nKG1hZ2ljX2Vycm9yX29iaiwgImZh
| aWx1cmUgdHJ5aW5nIHRvIGRldGVybWluZSBmaWxlIHR5cGUiKTsKCiAgICByZXR1cm4gb2JqOwp9
| CgpzdGF0aWMgY2hhciBfbWFnaWNfc2V0ZmxhZ3NfX2RvY19fW10gPQoiU2V0IGZsYWdzIG9uIHRo
| ZSBjb29raWUgb2JqZWN0LlxuIFwKIFJldHVybnMgLTEgb24gc3lzdGVtcyB0aGF0IGRvbid0IHN1
| cHBvcnQgdXRpbWUoMikgb3IgdXRpbWVzKDIpIFwKIHdoZW4gTUFHSUNfUFJFU0VSVkVfQVRJTUUg
| aXMgc2V0LlxuIjsKc3RhdGljIFB5T2JqZWN0KiBweV9tYWdpY19zZXRmbGFncyhQeU9iamVjdCog
| c2VsZiwgUHlPYmplY3QqIGFyZ3MpCnsKICAgIG1hZ2ljX2Nvb2tpZV9obmQqIGhuZCA9IChtYWdp
| Y19jb29raWVfaG5kKilzZWxmOwogICAgaW50IGZsYWdzOwogICAgaW50IHJlc3VsdDsKCiAgICBp
| ZighKFB5QXJnX1BhcnNlVHVwbGUoYXJncywgImkiLCAmZmxhZ3MpKSkKICAgICAgICByZXR1cm4g
| TlVMTDsKCiAgICByZXN1bHQgPSBtYWdpY19zZXRmbGFncyhobmQtPmNvb2tpZSwgZmxhZ3MpOwoK
| ICAgIHJldHVybiBQeUludF9Gcm9tTG9uZyhyZXN1bHQpOwp9CgpzdGF0aWMgY2hhciBfbWFnaWNf
| Y2hlY2tfX2RvY19fW10gPQoiQ2hlY2sgdGhlIHZhbGlkaXR5IG9mIGVudHJpZXMgaW4gdGhlIGNv
| bG9uIHNlcGFyYXRlZCBsaXN0IG9mIGRhdGFiYXNlIGZpbGVzIFwKIHBhc3NlZCBhcyBhcmd1bWVu
| dCBvciB0aGUgZGVmYXVsdCBkYXRhYmFzZSBmaWxlIGlmIG5vIGFyZ3VtZW50LlxuIFwKIFJldHVy
| bnMgMCBvbiBzdWNjZXNzIGFuZCAtMSBvbiBmYWlsdXJlLlxuIjsKc3RhdGljIFB5T2JqZWN0KiBw
| eV9tYWdpY19jaGVjayhQeU9iamVjdCogc2VsZiwgUHlPYmplY3QqIGFyZ3MpCnsKICAgIG1hZ2lj
| X2Nvb2tpZV9obmQqIGhuZCA9IChtYWdpY19jb29raWVfaG5kKilzZWxmOwogICAgY2hhciogZmls
| ZW5hbWUgPSBOVUxMOwogICAgaW50IHJlc3VsdDsKCiAgICBpZighKFB5QXJnX1BhcnNlVHVwbGUo
| YXJncywgInxzIiwgJmZpbGVuYW1lKSkpCiAgICAgICAgcmV0dXJuIE5VTEw7CgogICAgcmVzdWx0
| ID0gbWFnaWNfY2hlY2soaG5kLT5jb29raWUsIGZpbGVuYW1lKTsKCiAgICByZXR1cm4gUHlJbnRf
| RnJvbUxvbmcocmVzdWx0KTsKfQoKc3RhdGljIGNoYXIgX21hZ2ljX2NvbXBpbGVfX2RvY19fW10g
| PQoiQ29tcGlsZSBlbnRyaWVzIGluIHRoZSBjb2xvbiBzZXBhcmF0ZWQgbGlzdCBvZiBkYXRhYmFz
| ZSBmaWxlcyBcCiBwYXNzZWQgYXMgYXJndW1lbnQgb3IgdGhlIGRlZmF1bHQgZGF0YWJhc2UgZmls
| ZSBpZiBubyBhcmd1bWVudC5cbiBcCiBSZXR1cm5zIDAgb24gc3VjY2VzcyBhbmQgLTEgb24gZmFp
| bHVyZS5cbiBcCiBUaGUgY29tcGlsZWQgZmlsZXMgY3JlYXRlZCBhcmUgbmFtZWQgZnJvbSB0aGUg
| YmFzZW5hbWUoMSkgb2YgZWFjaCBmaWxlIFwKIGFyZ3VtZW50IHdpdGggXCIubWdjXCIgYXBwZW5k
| ZWQgdG8gaXQuXG4iOwpzdGF0aWMgUHlPYmplY3QqIHB5X21hZ2ljX2NvbXBpbGUoUHlPYmplY3Qq
| IHNlbGYsIFB5T2JqZWN0KiBhcmdzKQp7CiAgICBtYWdpY19jb29raWVfaG5kKiBobmQgPSAobWFn
| aWNfY29va2llX2huZCopc2VsZjsKICAgIGNoYXIqIGZpbGVuYW1lID0gTlVMTDsKICAgIGludCBy
| ZXN1bHQ7CgogICAgaWYoIShQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ8cyIsICZmaWxlbmFtZSkp
| KQogICAgICAgIHJldHVybiBOVUxMOwoKICAgIHJlc3VsdCA9IG1hZ2ljX2NvbXBpbGUoaG5kLT5j
| b29raWUsIGZpbGVuYW1lKTsKCiAgICByZXR1cm4gUHlJbnRfRnJvbUxvbmcocmVzdWx0KTsKfQoK
| c3RhdGljIGNoYXIgX21hZ2ljX2xvYWRfX2RvY19fW10gPQoiTXVzdCBiZSB1c2VkIHRvIGxvYWQg
| ZW50cmllcyBpbiB0aGUgY29sb24gc2VwYXJhdGVkIGxpc3Qgb2YgZGF0YWJhc2UgZmlsZXMgXAog
| cGFzc2VkIGFzIGFyZ3VtZW50IG9yIHRoZSBkZWZhdWx0IGRhdGFiYXNlIGZpbGUgaWYgbm8gYXJn
| dW1lbnQgYmVmb3JlIFwKIGFueSBtYWdpYyBxdWVyaWVzIGNhbiBiZSBwZXJmb3JtZWQuXG4gXAog
| UmV0dXJucyAwIG9uIHN1Y2Nlc3MgYW5kIC0xIG9uIGZhaWx1cmUuXG4iOwpzdGF0aWMgUHlPYmpl
| Y3QqIHB5X21hZ2ljX2xvYWQoUHlPYmplY3QqIHNlbGYsIFB5T2JqZWN0KiBhcmdzKQp7CiAgICBt
| YWdpY19jb29raWVfaG5kKiBobmQgPSAobWFnaWNfY29va2llX2huZCopc2VsZjsKICAgIGNoYXIq
| IGZpbGVuYW1lID0gTlVMTDsKICAgIGludCByZXN1bHQ7CgogICAgaWYoIShQeUFyZ19QYXJzZVR1
| cGxlKGFyZ3MsICJ8cyIsICZmaWxlbmFtZSkpKQogICAgICAgIHJldHVybiBOVUxMOwoKICAgIHJl
| c3VsdCA9IG1hZ2ljX2xvYWQoaG5kLT5jb29raWUsIGZpbGVuYW1lKTsKCiAgICByZXR1cm4gUHlJ
| bnRfRnJvbUxvbmcocmVzdWx0KTsKfQoKLyogb2JqZWN0IG1ldGhvZHMgKi8KCnN0YXRpYyBQeU1l
| dGhvZERlZiBtYWdpY19jb29raWVfaG5kX21ldGhvZHNbXSA9IHsKICAgIHsgImNsb3NlIiwgKFB5
| Q0Z1bmN0aW9uKXB5X21hZ2ljX2Nsb3NlLAogICAgICBNRVRIX05PQVJHUywgX21hZ2ljX2Nsb3Nl
| X19kb2NfXyB9LAogICAgeyAiZXJyb3IiLCAoUHlDRnVuY3Rpb24pcHlfbWFnaWNfZXJyb3IsCiAg
| ICAgIE1FVEhfTk9BUkdTLCBfbWFnaWNfZXJyb3JfX2RvY19fIH0sCiAgICB7ICJmaWxlIiwgKFB5
| Q0Z1bmN0aW9uKXB5X21hZ2ljX2ZpbGUsCiAgICAgIE1FVEhfVkFSQVJHUywgX21hZ2ljX2ZpbGVf
| X2RvY19fIH0sCiAgICB7ICJidWZmZXIiLCAoUHlDRnVuY3Rpb24pcHlfbWFnaWNfYnVmZmVyLAog
| ICAgICBNRVRIX1ZBUkFSR1MsIF9tYWdpY19idWZmZXJfX2RvY19fIH0sCiAgICB7ICJzZXRmbGFn
| cyIsIChQeUNGdW5jdGlvbilweV9tYWdpY19zZXRmbGFncywKICAgICAgTUVUSF9WQVJBUkdTLCBf
| bWFnaWNfc2V0ZmxhZ3NfX2RvY19fIH0sCiAgICB7ICJjaGVjayIsIChQeUNGdW5jdGlvbilweV9t
| YWdpY19jaGVjaywKICAgICAgTUVUSF9WQVJBUkdTLCBfbWFnaWNfY2hlY2tfX2RvY19fIH0sCiAg
| ICB7ICJjb21waWxlIiwgKFB5Q0Z1bmN0aW9uKXB5X21hZ2ljX2NvbXBpbGUsCiAgICAgIE1FVEhf
| VkFSQVJHUywgX21hZ2ljX2NvbXBpbGVfX2RvY19fIH0sCiAgICB7ICJsb2FkIiwgKFB5Q0Z1bmN0
| aW9uKXB5X21hZ2ljX2xvYWQsCiAgICAgIE1FVEhfVkFSQVJHUywgX21hZ2ljX2xvYWRfX2RvY19f
| IH0sCiAgICB7IE5VTEwsIE5VTEwgfQp9OwoKLyogbW9kdWxlIGxldmVsIG1ldGhvZHMgKi8KCnN0
| YXRpYyBQeU1ldGhvZERlZiBtYWdpY19tZXRob2RzW10gPSB7CiAgICB7ICJvcGVuIiwgKFB5Q0Z1
| bmN0aW9uKXB5X21hZ2ljX29wZW4sCiAgICAgIE1FVEhfVkFSQVJHUywgX21hZ2ljX29wZW5fX2Rv
| Y19fIH0sCiAgICB7IE5VTEwsIE5VTEwgfQp9OwoKc3RhdGljIHZvaWQgcHlfbWFnaWNfZGVhbGxv
| YyhQeU9iamVjdCogc2VsZikKewogICAgUHlPYmplY3RfRGVsKHNlbGYpOwp9CgpzdGF0aWMgUHlP
| YmplY3QqIHB5X21hZ2ljX2dldGF0dHIoUHlPYmplY3QqIHNlbGYsIGNoYXIqIGF0dHJuYW1lKQp7
| CiAgICByZXR1cm4gUHlfRmluZE1ldGhvZChtYWdpY19jb29raWVfaG5kX21ldGhvZHMsIHNlbGYs
| IGF0dHJuYW1lKTsKfQoKUHlUeXBlT2JqZWN0IG1hZ2ljX2Nvb2tpZV90eXBlID0gewogICAgUHlP
| YmplY3RfSEVBRF9JTklUKE5VTEwpCiAgICAwLAogICAgIk1hZ2ljIGNvb2tpZSIsCiAgICBzaXpl
| b2YobWFnaWNfY29va2llX2huZCksCiAgICAwLAogICAgcHlfbWFnaWNfZGVhbGxvYywgLyogdHBf
| ZGVhbGxvYyAqLwogICAgMCwgICAgICAgICAgICAgICAgLyogdHBfcHJpbnQgKi8KICAgIHB5X21h
| Z2ljX2dldGF0dHIsIC8qIHRwX2dldGF0dHIgKi8KICAgIDAsICAgICAgICAgICAgICAgIC8qIHRw
| X3NldGF0dHIgKi8KICAgIDAsICAgICAgICAgICAgICAgIC8qIHRwX2NvbXBhcmUgKi8KICAgIDAs
| ICAgICAgICAgICAgICAgIC8qIHRwX3JlcHIgKi8KICAgIDAsICAgICAgICAgICAgICAgIC8qIHRw
| X2FzX251bWJlciAqLwogICAgMCwgICAgICAgICAgICAgICAgLyogdHBfYXNfc2VxdWVuY2UgKi8K
| ICAgIDAsICAgICAgICAgICAgICAgIC8qIHRwX2FzX21hcHBpbmcgKi8KICAgIDAsICAgICAgICAg
| ICAgICAgIC8qIHRwX2hhc2ggKi8KfTsKCi8qIEluaXRpYWxpemUgY29uc3RhbnRzICovCgpzdGF0
| aWMgc3RydWN0IGNvbnN0X3ZhbHMgewogICAgY29uc3QgY2hhciogY29uc3QgbmFtZTsKICAgIHVu
| c2lnbmVkIGludCB2YWx1ZTsKfSBtb2R1bGVfY29uc3RfdmFsc1tdID0gewogICAgeyAiTUFHSUNf
| Tk9ORSIsIE1BR0lDX05PTkUgfSwKICAgIHsgIk1BR0lDX0RFQlVHIiwgTUFHSUNfREVCVUcgfSwK
| ICAgIHsgIk1BR0lDX1NZTUxJTksiLCBNQUdJQ19TWU1MSU5LIH0sCiAgICB7ICJNQUdJQ19DT01Q
| UkVTUyIsIE1BR0lDX0NPTVBSRVNTIH0sCiAgICB7ICJNQUdJQ19ERVZJQ0VTIiwgTUFHSUNfREVW
| SUNFUyB9LAogICAgeyAiTUFHSUNfTUlNRSIsIE1BR0lDX01JTUUgfSwKICAgIHsgIk1BR0lDX0NP
| TlRJTlVFIiwgTUFHSUNfQ09OVElOVUUgfSwKICAgIHsgIk1BR0lDX0NIRUNLIiwgTUFHSUNfQ0hF
| Q0sgfSwKICAgIHsgIk1BR0lDX1BSRVNFUlZFX0FUSU1FIiwgTUFHSUNfUFJFU0VSVkVfQVRJTUUg
| fSwKICAgIHsgTlVMTCB9Cn07CgpzdGF0aWMgdm9pZCBjb25zdF9pbml0KFB5T2JqZWN0KiBkaWN0
| KQp7CiAgICBzdHJ1Y3QgY29uc3RfdmFscyogdG1wOwogICAgUHlPYmplY3QgKm9iajsKCiAgICBm
| b3IodG1wID0gbW9kdWxlX2NvbnN0X3ZhbHM7IHRtcC0+bmFtZTsgKyt0bXApIHsKICAgICAgICBv
| YmogPSBQeUludF9Gcm9tTG9uZyh0bXAtPnZhbHVlKTsKICAgICAgICBQeURpY3RfU2V0SXRlbVN0
| cmluZyhkaWN0LCB0bXAtPm5hbWUsIG9iaik7CiAgICAgICAgUHlfREVDUkVGKG9iaik7CiAgICB9
| Cn0KCi8qCiAqIE1vZHVsZSBpbml0aWFsaXphdGlvbgogKi8KCnZvaWQgaW5pdG1hZ2ljKHZvaWQp
| CnsKICAgIFB5T2JqZWN0KiBtb2R1bGU7CiAgICBQeU9iamVjdCogZGljdDsKCiAgICAvKiBJbml0
| aWFsaXplIG1vZHVsZSAqLwogICAgCiAgICBtb2R1bGUgPSBQeV9Jbml0TW9kdWxlKCJtYWdpYyIs
| IG1hZ2ljX21ldGhvZHMpOwogICAgZGljdCA9IFB5TW9kdWxlX0dldERpY3QobW9kdWxlKTsKCiAg
| ICBtYWdpY19lcnJvcl9vYmogPSBQeUVycl9OZXdFeGNlcHRpb24oIm1hZ2ljLmVycm9yIiwgTlVM
| TCwgTlVMTCk7CiAgICBQeURpY3RfU2V0SXRlbVN0cmluZyhkaWN0LCAiZXJyb3IiLCBtYWdpY19l
| cnJvcl9vYmopOwoKICAgIG1hZ2ljX2Nvb2tpZV90eXBlLm9iX3R5cGUgPSAmUHlUeXBlX1R5cGU7
| CgogICAgLyogSW5pdGlhbGl6ZSBjb25zdGFudHMgKi8KCiAgICBjb25zdF9pbml0KGRpY3QpOwoK
| ICAgIGlmKFB5RXJyX09jY3VycmVkKCkpCiAgICAgICAgUHlfRmF0YWxFcnJvcigiY2FuJ3QgaW5p
| dGlhbGl6ZSBtb2R1bGUgbWFnaWMiKTsKfQo=
|
| ------=_20031007145726_30296--
|
| _______________________________________________
| File mailing list
| File at mx.gw.com
| http://mx.gw.com/mailman/listinfo/file
-- End of excerpt from "Brett Funderburg"
More information about the File
mailing list