This is a multi-part message in MIME format. --------------020906070304060802060600 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by ms-smtp-04.texas.rr.com id iAEJ34J5003498
>=20 > The SANE standard defines the comunication between frontend and backend. > It does not define any structs that shall be internally used by the > frontend or backend. >=20 > I think the clean appoach is that the backend handles the texts interna= l > as non const strings and only creats the SANE_Device struct to return > the data to the frontend. The SANE_Device struct is defined for the > purpose to transfer the data from the backend to the frontend as const > chars. When the backend has to use non const definitions then it is not > allowed to use the SANE_Device struct so it has to use it=C2=B4s own da= ta > types and not the one of the SANE standard. >=20 > Oliver So, in that case what about the patch in attachment. I've also changed the internal definition of SANE_Option_Descriptor for t= he same=20 reason. It breaks about 5 backends, but they can all be easily fixed by= hand=20 by removing a few const. I'd say that the current definition of SANE_Devi= ce and=20 SANE_Option_Descriptor and created an ugly cascade of unnecessary casts a= nd=20 consts in all the backends. Frank. --------------020906070304060802060600 Content-Type: text/plain; name="sane.diff.part32" Content-Disposition: inline; filename="sane.diff.part32" Content-Transfer-Encoding: base64 SW5kZXg6IGluY2x1ZGUvc2FuZS9zYW5lLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2 c3Jvb3Qvc2FuZS9zYW5lLWJhY2tlbmRzL2luY2x1ZGUvc2FuZS9zYW5lLmgsdgpyZXRyaWV2 aW5nIHJldmlzaW9uIDEuNgpkaWZmIC11IC0zIC1wIC1CIC1iIC11IC1yMS42IHNhbmUuaAot LS0gaW5jbHVkZS9zYW5lL3NhbmUuaAkxMyBOb3YgMjAwNCAyMDoyOToxNCAtMDAwMAkxLjYK KysrIGluY2x1ZGUvc2FuZS9zYW5lLmgJMTQgTm92IDIwMDQgMTg6NTk6MDMgLTAwMDAKQEAg LTkyLDYgKzkyLDE2IEBAIHR5cGVkZWYgZW51bQogICB9CiBTQU5FX1VuaXQ7CiAKKyNpZmRl ZiBCQUNLRU5EX05BTUUKK3R5cGVkZWYgc3RydWN0CisgIHsKKyAgICBTQU5FX1N0cmluZyBu YW1lOwkvKiB1bmlxdWUgZGV2aWNlIG5hbWUgKi8KKyAgICBTQU5FX1N0cmluZyB2ZW5kb3I7 CS8qIGRldmljZSB2ZW5kb3Igc3RyaW5nICovCisgICAgU0FORV9TdHJpbmcgbW9kZWw7CS8q IGRldmljZSBtb2RlbCBuYW1lICovCisgICAgU0FORV9TdHJpbmcgdHlwZTsJLyogZGV2aWNl IHR5cGUgKGUuZy4sICJmbGF0YmVkIHNjYW5uZXIiKSAqLworICB9CitTQU5FX0RldmljZTsK KyNlbHNlCiB0eXBlZGVmIHN0cnVjdAogICB7CiAgICAgU0FORV9TdHJpbmdfQ29uc3QgbmFt ZTsJLyogdW5pcXVlIGRldmljZSBuYW1lICovCkBAIC0xMDAsNiArMTEwLDcgQEAgdHlwZWRl ZiBzdHJ1Y3QKICAgICBTQU5FX1N0cmluZ19Db25zdCB0eXBlOwkvKiBkZXZpY2UgdHlwZSAo ZS5nLiwgImZsYXRiZWQgc2Nhbm5lciIpICovCiAgIH0KIFNBTkVfRGV2aWNlOworI2VuZGlm CiAKICNkZWZpbmUgU0FORV9DQVBfU09GVF9TRUxFQ1QJCSgxIDw8IDApCiAjZGVmaW5lIFNB TkVfQ0FQX0hBUkRfU0VMRUNUCQkoMSA8PCAxKQpAQCAtMTM0LDYgKzE0NSwyOCBAQCB0eXBl ZGVmIHN0cnVjdAogICB9CiBTQU5FX1JhbmdlOwogCisjaWZkZWYgQkFDS0VORF9OQU1FCit0 eXBlZGVmIHN0cnVjdAorICB7CisgICAgU0FORV9TdHJpbmcgbmFtZTsJLyogbmFtZSBvZiB0 aGlzIG9wdGlvbiAoY29tbWFuZC1saW5lIG5hbWUpICovCisgICAgU0FORV9TdHJpbmcgdGl0 bGU7CS8qIHRpdGxlIG9mIHRoaXMgb3B0aW9uIChzaW5nbGUtbGluZSkgKi8KKyAgICBTQU5F X1N0cmluZyBkZXNjOwkvKiBkZXNjcmlwdGlvbiBvZiB0aGlzIG9wdGlvbiAobXVsdGktbGlu ZSkgKi8KKyAgICBTQU5FX1ZhbHVlX1R5cGUgdHlwZTsJLyogaG93IGFyZSB2YWx1ZXMgaW50 ZXJwcmV0ZWQ/ICovCisgICAgU0FORV9Vbml0IHVuaXQ7CQkvKiB3aGF0IGlzIHRoZSAocGh5 c2ljYWwpIHVuaXQ/ICovCisgICAgU0FORV9JbnQgc2l6ZTsKKyAgICBTQU5FX0ludCBjYXA7 CQkvKiBjYXBhYmlsaXRpZXMgKi8KKworICAgIFNBTkVfQ29uc3RyYWludF9UeXBlIGNvbnN0 cmFpbnRfdHlwZTsKKyAgICB1bmlvbgorICAgICAgeworCVNBTkVfU3RyaW5nICpzdHJpbmdf bGlzdDsJLyogTlVMTC10ZXJtaW5hdGVkIGxpc3QgKi8KKwlTQU5FX1dvcmQgKndvcmRfbGlz dDsJLyogZmlyc3QgZWxlbWVudCBpcyBsaXN0LWxlbmd0aCAqLworCVNBTkVfUmFuZ2UgKnJh bmdlOworICAgICAgfQorICAgIGNvbnN0cmFpbnQ7CisgIH0KK1NBTkVfT3B0aW9uX0Rlc2Ny aXB0b3I7CisjZWxzZQogdHlwZWRlZiBzdHJ1Y3QKICAgewogICAgIFNBTkVfU3RyaW5nX0Nv bnN0IG5hbWU7CS8qIG5hbWUgb2YgdGhpcyBvcHRpb24gKGNvbW1hbmQtbGluZSBuYW1lKSAq LwpAQCAtMTU0LDYgKzE4Nyw3IEBAIHR5cGVkZWYgc3RydWN0CiAgICAgY29uc3RyYWludDsK ICAgfQogU0FORV9PcHRpb25fRGVzY3JpcHRvcjsKKyNlbmRpZgogCiB0eXBlZGVmIGVudW0K ICAgewo= --------------020906070304060802060600--
