Patch to provide support for application/x-zerosize

Norm Pierce <[email protected]> Fri, 21 Sep 2012 11:22:47 -0400 (EDT)
Newsgroups gmane.comp.desktop.rox.devel
Message-ID <[email protected]>
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to [email protected] for more info.

---1463811840-241715507-1348240695=:942
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <[email protected]>

Attached is a patch to provide support in ROX-Filer for the
application/x-zerosize MIME type.

The changes made to the code are mostly just a subset of the changes in a
patch submitted to the xdgmime code base by David Faure.  (See
"xdg/xdgmime: Implement text vs binary fallback; support for
application/x-zerosize" at
http://cgit.freedesktop.org/xdg/xdgmime/commit/?id=5181175d5fdaa3832b0fd094cda0120b1fe92af6
)  My only contributions were to make a small change in the
diritem_restat() function so empty files are no longer assumed to be
text/plain, and to make a change to the xdg_mime_get_mime_type_for_file()
function identical to a change Faure made to the
_xdg_mime_cache_get_mime_type_for_file() function; this fixes an omission
in his patch so that this will still work even if there is no support for
the mime.cache file.

Note that David Faure's patch also adds support for guessing whether a
file is binary or text if no other method has been able to identify the
MIME type.  ROX-Filer has had support for that since 2005 (with a short
vacation from 2007-08-18 to 2008-01-21 when the code had been mistakenly
removed).  I have retained the ROX-Filer code for that support and not
implemented David Faure's related changes.


Related reading:

Some discussion of Faure's patch is available here (although mostly about 
the part of his patch not used in my patch):
"Re: Questions regarding the shared mime spec"
http://old.nabble.com/Questions-regarding-the-shared-mime-spec-td32227868.html#a32563181

Bug report regarding omission in Faure's patch:
"Bug 55120 - application/x-zerosize isn't supported when not using cache."
https://bugs.freedesktop.org/show_bug.cgi?id=55120

---1463811840-241715507-1348240695=:942
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="ROX-Filer.diff"
Content-Transfer-Encoding: BASE64
Content-ID: <[email protected]>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME="ROX-Filer.diff"

ZGlmZiAtdXAgb2xkL2Rpcml0ZW0uYyBuZXcvZGlyaXRlbS5jDQotLS0gb2xk

L2Rpcml0ZW0uYwkyMDExLTEwLTIyIDEzOjQ4OjUwLjAwMDAwMDAwMCAtMDQw

MA0KKysrIG5ldy9kaXJpdGVtLmMJMjAxMi0wOS0xMSAxNDo0NzowNC4wMDAw

MDAwMDAgLTA0MDANCkBAIC0xNTMsOSArMTUzLDcgQEAgdm9pZCBkaXJpdGVt

X3Jlc3RhdChjb25zdCBndWNoYXIgKnBhdGgsDQogCX0NCiAJZWxzZSBpZiAo

aXRlbS0+YmFzZV90eXBlID09IFRZUEVfRklMRSkNCiAJew0KLQkJaWYgKGl0

ZW0tPnNpemUgPT0gMCkNCi0JCQlpdGVtLT5taW1lX3R5cGUgPSB0ZXh0X3Bs

YWluOw0KLQkJZWxzZSBpZiAoaXRlbS0+ZmxhZ3MgJiBJVEVNX0ZMQUdfU1lN

TElOSykNCisJCWlmIChpdGVtLT5mbGFncyAmIElURU1fRkxBR19TWU1MSU5L

KQ0KIAkJew0KIAkJCWd1Y2hhciAqbGlua19wYXRoOw0KIAkJCWxpbmtfcGF0

aCA9IHBhdGhkdXAocGF0aCk7DQpkaWZmIC11cCBvbGQveGRnbWltZS5jIG5l

dy94ZGdtaW1lLmMNCi0tLSBvbGQveGRnbWltZS5jCTIwMTEtMTAtMjIgMTM6

NDg6NTAuMDAwMDAwMDAwIC0wNDAwDQorKysgbmV3L3hkZ21pbWUuYwkyMDEy

LTA5LTExIDE1OjI1OjM0LjAwMDAwMDAwMCAtMDQwMA0KQEAgLTY1LDYgKzY1

LDcgQEAgWGRnTWltZUNhY2hlICoqX3hkZ19taW1lX2NhY2hlcyA9IE5VTEw7

DQogc3RhdGljIGludCBuX2NhY2hlcyA9IDA7DQogDQogY29uc3QgY2hhciB4

ZGdfbWltZV90eXBlX3Vua25vd25bXSA9ICJhcHBsaWNhdGlvbi9vY3RldC1z

dHJlYW0iOw0KK2NvbnN0IGNoYXIgeGRnX21pbWVfdHlwZV9lbXB0eVtdID0g

ImFwcGxpY2F0aW9uL3gtemVyb3NpemUiOw0KIGNvbnN0IGNoYXIgeGRnX21p

bWVfdHlwZV91bmtub3duX3RleHRbXSA9ICJ0ZXh0L3BsYWluIjsgLyogUk9Y

OiAqLw0KIA0KIA0KQEAgLTQ2OSw2ICs0NzAsMTEgQEAgeGRnX21pbWVfZ2V0

X21pbWVfdHlwZV9mb3JfZGF0YSAoY29uc3Qgdg0KIHsNCiAgIGNvbnN0IGNo

YXIgKm1pbWVfdHlwZTsNCiANCisgIGlmIChsZW4gPT0gMCkNCisgICAgew0K

KyAgICAgIHJldHVybiBYREdfTUlNRV9UWVBFX0VNUFRZOw0KKyAgICB9DQor

ICANCiAgIHhkZ19taW1lX2luaXQgKCk7DQogDQogICBpZiAoX3hkZ19taW1l

X2NhY2hlcykNCkBAIC01MjEsNiArNTI3LDkgQEAgeGRnX21pbWVfZ2V0X21p

bWVfdHlwZV9mb3JfZmlsZSAoY29uc3QgYw0KICAgICAgIHN0YXRidWYgPSAm

YnVmOw0KICAgICB9DQogDQorICBpZiAoc3RhdGJ1Zi0+c3Rfc2l6ZSA9PSAw

KQ0KKyAgICByZXR1cm4gWERHX01JTUVfVFlQRV9FTVBUWTsNCisNCiAgIGlm

ICghU19JU1JFRyAoc3RhdGJ1Zi0+c3RfbW9kZSkpDQogICAgIHJldHVybiBY

REdfTUlNRV9UWVBFX1VOS05PV047DQogDQpkaWZmIC11cCBvbGQveGRnbWlt

ZWNhY2hlLmMgbmV3L3hkZ21pbWVjYWNoZS5jDQotLS0gb2xkL3hkZ21pbWVj

YWNoZS5jCTIwMTEtMTAtMjIgMTM6NDg6NTAuMDAwMDAwMDAwIC0wNDAwDQor

KysgbmV3L3hkZ21pbWVjYWNoZS5jCTIwMTItMDktMTEgMTQ6MzU6NTcuMDAw

MDAwMDAwIC0wNDAwDQpAQCAtNzAyLDYgKzcwMiw5IEBAIF94ZGdfbWltZV9j

YWNoZV9nZXRfbWltZV90eXBlX2Zvcl9maWxlICgNCiAgICAgICBzdGF0YnVm

ID0gJmJ1ZjsNCiAgICAgfQ0KIA0KKyAgaWYgKHN0YXRidWYtPnN0X3NpemUg

PT0gMCkNCisgICAgcmV0dXJuIFhER19NSU1FX1RZUEVfRU1QVFk7DQorDQog

ICBpZiAoIVNfSVNSRUcgKHN0YXRidWYtPnN0X21vZGUpKQ0KICAgICByZXR1

cm4gWERHX01JTUVfVFlQRV9VTktOT1dOOw0KIA0KZGlmZiAtdXAgb2xkL3hk

Z21pbWUuaCBuZXcveGRnbWltZS5oDQotLS0gb2xkL3hkZ21pbWUuaAkyMDEx

LTEwLTIyIDEzOjQ4OjUwLjAwMDAwMDAwMCAtMDQwMA0KKysrIG5ldy94ZGdt

aW1lLmgJMjAxMi0wOS0xMSAxNDozNTo0NC4wMDAwMDAwMDAgLTA0MDANCkBA

IC02Nyw2ICs2Nyw3IEBAIHR5cGVkZWYgdm9pZCAoKlhkZ01pbWVEZXN0cm95

KSAgKHZvaWQgKnUNCiAjZGVmaW5lIHhkZ19taW1lX3JlZ2lzdGVyX3JlbG9h

ZF9jYWxsYmFjayAgICAgWERHX0VOVFJZKG1pbWVfcmVnaXN0ZXJfcmVsb2Fk

X2NhbGxiYWNrKQ0KICNkZWZpbmUgeGRnX21pbWVfcmVtb3ZlX2NhbGxiYWNr

ICAgICAgICAgICAgICBYREdfRU5UUlkobWltZV9yZW1vdmVfY2FsbGJhY2sp

DQogI2RlZmluZSB4ZGdfbWltZV90eXBlX3Vua25vd24gICAgICAgICAgICAg

ICAgIFhER19FTlRSWShtaW1lX3R5cGVfdW5rbm93bikNCisjZGVmaW5lIHhk

Z19taW1lX3R5cGVfZW1wdHkgICAgICAgICAgICAgICAgICAgWERHX0VOVFJZ

KHR5cGVfZW1wdHkpDQogDQogI2RlZmluZSBfeGRnX21pbWVfbWltZV90eXBl

X2VxdWFsICAgICAgICAgICAgIFhER19SRVNFUlZFRF9FTlRSWShtaW1lX21p

bWVfdHlwZV9lcXVhbCkNCiAjZGVmaW5lIF94ZGdfbWltZV9tZWRpYV90eXBl

X2VxdWFsICAgICAgICAgICAgWERHX1JFU0VSVkVEX0VOVFJZKG1pbWVfbWVk

aWFfdHlwZV9lcXVhbCkNCkBAIC03OCw3ICs3OSw5IEBAIGV4dGVybiBjb25z

dCBjaGFyIHhkZ19taW1lX3R5cGVfdW5rbm93blsNCiANCiAvKiBST1g6ICov

DQogZXh0ZXJuIGNvbnN0IGNoYXIgeGRnX21pbWVfdHlwZV91bmtub3duX3Rl

eHRbXTsNCitleHRlcm4gY29uc3QgY2hhciB4ZGdfbWltZV90eXBlX2VtcHR5

W107DQogI2RlZmluZSBYREdfTUlNRV9UWVBFX1VOS05PV05fVEVYVCB4ZGdf

bWltZV90eXBlX3Vua25vd25fdGV4dA0KKyNkZWZpbmUgWERHX01JTUVfVFlQ

RV9FTVBUWSB4ZGdfbWltZV90eXBlX2VtcHR5DQogDQogY29uc3QgY2hhciAg

KnhkZ19taW1lX2dldF9taW1lX3R5cGVfZm9yX2RhdGEgICAgICAgKGNvbnN0

IHZvaWQgKmRhdGEsDQogCQkJCQkJICAgIHNpemVfdCAgICAgIGxlbik7DQo=
---1463811840-241715507-1348240695=:942
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

------------------------------------------------------------------------------
Got visibility?
Most devs has no idea what their production app looks like.
Find out how fast your code is with AppDynamics Lite.
http://ad.doubleclick.net/clk;262219671;13503038;y?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
---1463811840-241715507-1348240695=:942
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
rox-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rox-devel

---1463811840-241715507-1348240695=:942--