Return-Path: <tiff-bounces@lists.osgeo.org>
Received: from mailgate227.isp.belgacom.be ([195.238.22.92])
          by mailfep028.skynet.be
          (InterMail vM.8.04.03.28.4 201-2389-100-182-103-20180124)
          with ESMTP
          id <20210101220129.DGZ11451.mailfep028.skynet.be@mailgate227.isp.belgacom.be>
          for <chris.lindelaan@skynet.be>; Fri, 1 Jan 2021 23:01:29 +0100
Authentication-Results: mx201.skynet.be; dkim=none (message not signed) header.i=none; spf=None smtp.pra=tiff-bounces@lists.osgeo.org; spf=Pass smtp.mailfrom=tiff-bounces@lists.osgeo.org; spf=Pass smtp.helo=postmaster@lists.osgeo.org
Received-SPF: None (mx201.skynet.be: no sender authenticity
  information available from domain of
  tiff-bounces@lists.osgeo.org) identity=pra;
  client-ip=140.211.15.3; receiver=mx201.skynet.be;
  envelope-from="tiff-bounces@lists.osgeo.org";
  x-sender="tiff-bounces@lists.osgeo.org";
  x-conformance=sidf_compatible
Received-SPF: Pass (mx201.skynet.be: domain of
  tiff-bounces@lists.osgeo.org designates 140.211.15.3 as
  permitted sender) identity=mailfrom; client-ip=140.211.15.3;
  receiver=mx201.skynet.be;
  envelope-from="tiff-bounces@lists.osgeo.org";
  x-sender="tiff-bounces@lists.osgeo.org";
  x-conformance=sidf_compatible; x-record-type="v=spf1";
  x-record-text="v=spf1 mx a:mail.osgeo.org a:lists.osgeo.org
  a:mail.osgeo.osuosl.org a:tracsvn.osgeo.osuosl.org -all"
Received-SPF: Pass (mx201.skynet.be: domain of
  postmaster@lists.osgeo.org designates 140.211.15.3 as
  permitted sender) identity=helo; client-ip=140.211.15.3;
  receiver=mx201.skynet.be;
  envelope-from="tiff-bounces@lists.osgeo.org";
  x-sender="postmaster@lists.osgeo.org";
  x-conformance=sidf_compatible; x-record-type="v=spf1";
  x-record-text="v=spf1 mx a:mail.osgeo.org a:lists.osgeo.org
  a:mail.osgeo.osuosl.org a:tracsvn.osgeo.osuosl.org -all"
X-Ironport-Dmarc-Check-Result: validskip
IronPort-SDR: tMun79s3btPUtIah/KpVc/JNBZP8VaJzYejt8TYf2yUXrR0y6RfY7VHiDlu3wm9Yl926dFVr0z
 xLPjgEC6ibGHmEx58XIdn6gH9WVzGHQrCg7yzWN0TClygrPp0I0P8BXXKRO54dV66uPfWM/lHA
 iqDI5xihvhfBNUoQy7cAXaDBzl/Iz7Aw6bS8jGFKfpVmODaIa8R+dcV7Vx8BqF7gl1J7d4e7IB
 RI1BHJnj1AJACdBwuu6jeqWmKBoMDMnrw0LDMo6nDDZZUO3tnEE6Renu/izahI0EAfEPKKm09A
 IyNc9ob5cvcY9NivQOFHnp2e
IronPort-PHdr: =?us-ascii?q?9a23=3AL6Z7mxFMgZ2lKW7zymvXvp1GYnF86YWxBRYc79?=
 =?us-ascii?q?8ds5kLTJ76pcS7bnLW6fgltlLVR4KTs6sC17OJ9fq6BidZvMnJmUtBWaQEbw?=
 =?us-ascii?q?UCh8QSkl5oK+++Imq/EsTXaTcnFt9JTl5v8iLzG0FUHMHjew+a+SXqvnYdFR?=
 =?us-ascii?q?rlKAV6OPn+FJLMgMSrzeCy/IDYbxlViDanbr5+MRe7oR/PusUIg4ZuJbs9xx?=
 =?us-ascii?q?vLr3BVZ+lY2GRkKE6JkR3h/Mmw5plj8ypRu/Il6cFNVLjxcro7Q7JFEjkoKn?=
 =?us-ascii?q?g568L3uxbNSwuP/WYcXX4NkhVUGQjF7Qr1UYn3vyDnq+dywiiaPcnxTbApRT?=
 =?us-ascii?q?Sv6rpgRRH0hCsbMTMy7XragdJsgq1FvB2hpgR/w4/Kb4GTKPp+Zb7WcdcDSW?=
 =?us-ascii?q?ZcQspdSylND4WhZIUNEuUBJ/5VoYf9qVUQrxSwBgesC+3gxTBUm3H2xa833e?=
 =?us-ascii?q?Y8HQzIwAAvAckOvW/RrNnpLqofS/y5wbPKwDjFcvhY2S396I/Nch05vPyMWq?=
 =?us-ascii?q?l/etfRx0k1FgPKkE6QppLjPzOVzOsNs26b5PdnWO20hW4nsQBxrSa0xsgyjI?=
 =?us-ascii?q?nEnZkVylHB9SVhxIY6O8e0R1Nhbt6gFJtfrTqaO5FqQsItWW1opT06x6QAtJ?=
 =?us-ascii?q?WmcycE1I4pyATDa/ybbYeI+BTjWf6RLDp2in9ofLKyiwis/ES9xeDxSMa53E?=
 =?us-ascii?q?hKoCRFjtTAqnQA2hjO5sWGSvZx40Ss1DSR2gzN6+xJI0A5mbfaJpI/xLM7i5?=
 =?us-ascii?q?QdsUPGHiDsmUX2irebdkol+ui07+ToeK7pqoWAOI9zjwHyKr8ums26AeQgNg?=
 =?us-ascii?q?gBQXOb+OSn1L3/40L5Ra5KgucxkqnDv5DWPcsbprSjDA9N0oYj6gqwDyyj0N?=
 =?us-ascii?q?sCknkHLU5KeBGdg4juIVHOL/b1Buq8jVS0iDpn2v/LMqH7DpnTM3TPja3tca?=
 =?us-ascii?q?t95kJGxgc/1dFS6pJOBrwAIf//QFH9udPZAxMjMQG5zeDqA8hn2IwEQ2KAGK?=
 =?us-ascii?q?qZPbvSsVCW4uIvJPGBZIsUuDbmN/gl/OTijXgimV8SY6ap2oEbaHeiHvRpO0?=
 =?us-ascii?q?mZYHzsjckdEWoSowYzQ/DmhEecXTJOenq+Rb8w6zEhBI+oFYvDQ5qigL2F3C?=
 =?us-ascii?q?e1BJ1WYWVGB0iQEXfpeYWEVe4AZzmVIs98lDwLSaauS5Q62BGqtQ/60KZnLv?=
 =?us-ascii?q?HO9i0frpLj28Z65+rJmRE17zx0ANyR03uRQGFsgmMIWzg20bhjrkx90FeD0L?=
 =?us-ascii?q?N4j+ZcFdxS4fNGTxk1NZrGwONgDdD/QRnBftSJSVagXNqmHSs9QckvzIxGXk?=
 =?us-ascii?q?BmBt/3jgzfxzH4RPgRlqeXH9oz6a3R2D72Pck6zn/H0KwoiR4hWtdOMmu9wb?=
 =?us-ascii?q?J++QaAOojSjk/Mkq+rcbgbjjLM+mnG12eXoUxDTCZ0UL7ZRjYYfUTbqpL+/E?=
 =?us-ascii?q?yVVKKkC7ksLl5cz9WfILBBcNzjgAZ7Quz+MvTTam68gTKwGQqQ3eHLK47rYH?=
 =?us-ascii?q?kGmiLGB0UD1QcJ8jGDPAk6Ay6n5GXGED1pE0mof0Li/7pDrmimRG85xg2HdR?=
 =?us-ascii?q?hk3rux5hlHmf2SRbYJ06sZtTw9gzF1B0qmmdXNBNeH4Q17c/JHfNk/7VxbgH?=
 =?us-ascii?q?/frBF3JZe6Lqpv1WIZJj5wsE70nzF6C4pA2ZwwqH4rwwpaIqWU3VdAfSmVm5?=
 =?us-ascii?q?b9JuuEBHP1+UWFbKSe9Evf3c2b/KcG6PJw/1/tpgCkDUck225m1sFR3j2Q75?=
 =?us-ascii?q?HOBRFUTYK3T11hpEsynK3TfiRov9Cc7nZrK6Th92aag4hzVsI41hatecteO6?=
 =?us-ascii?q?qYFQj0VvcXHNWqNPdwwwn7awJeZLkU760lOc66MfGLi+anP+dlyTShi2kPoI?=
 =?us-ascii?q?VwyVmF+Cc0TOnUl40EzPeV0krPVzr1gFq79MGin4dCaGJaBXKxnA7jAoMZfa?=
 =?us-ascii?q?huZcATE277P8y5yJB0gIPrUHND3FqiHE8dnsiydheVKVvn0l4YzlwZ9ESugj?=
 =?us-ascii?q?Dw1Dloi3csp6ub0jbJxrH+dRQJf2RMWW9pgEzEJYmvk8tcW1OnYg9vkwGqtg?=
 =?us-ascii?q?7h36YOnK1kNCHIRFtQOSj7K2Y3Sqyrqr+LeNJC8rsssD5LS6K7el+XTfj6uR?=
 =?us-ascii?q?RDiXHZEmBTxS42e3SRgruixkUormWbIT4zqWqDIZg23hTO4tHAA/RcjHIAQ2?=
 =?us-ascii?q?FjhD/bC0L0NsS1/diSi5bIs/yvMgDpHpxVfy7xyIqctSy9rWR0CBy7lvq3l5?=
 =?us-ascii?q?XpCw8/mSP80tBrU23PonOeKsH31qq0dOhgY09jCUTU78thBpo4lZA/iZZW3m?=
 =?us-ascii?q?IVx92U8XcBjWbvIIBDw6utCRhFDTUPwtPT/E3kwBg6cirPndugECzAhJAyL8?=
 =?us-ascii?q?O3aW4XxC8nusVaUv/NqqdHjC14vhyyoFG0A7A1kzEDxP8p8HNfjfsOvV9n0i?=
 =?us-ascii?q?STDPUYGlReNiH3vxCJ9Myl6qJMa2uoN7+q2wAt+LLpRKHHuQxaVHvjL90+HC?=
 =?us-ascii?q?F+q894LVTH3Wbb7oD/ZMKWaskcuxrSlA3PxbswStp5hr8BgixpPnj4tHsuxr?=
 =?us-ascii?q?sgjBBg6pq9uZCON2Rn+K/gWExiOzb4Zt0e9nTWtYgCw5bE54m0Bd0hHyVRBM?=
 =?us-ascii?q?KuVvG5Fj8O8/7qZU6CFzg1q3HTHrS6f0fX9EZooTfFFI2tPHyMDH0Y1sl5Ah?=
 =?us-ascii?q?6GK0FYxgcOU302k4U4GQaj2MH6OB4lvnZLvwe+80YKkaphLHydGi/HqR2tay?=
 =?us-ascii?q?soRZTXNxdQ4gxYpg/UPcGY8uNvDnRd95ylohaKLz/TbABJAGcVH02cUgm/Zv?=
 =?us-ascii?q?/0vICGqrXeXbnbTbOGe7iFpO1AWu3dwIL1itIg5DWdMMiTeHNvXJhZkgJOW2?=
 =?us-ascii?q?50H8PBlnABUSsSwmjRbsCV4R275yt8o9uX9PXwRBmp4pCABrwUNs9gsUPT4+?=
 =?us-ascii?q?/LJ6uLiSB1JCwNnI8Ny3GNwr8C2lUfkAlqdiKxCvIHriHAS+TXgKAdXHt5I2?=
 =?us-ascii?q?tjccBP6aw7xAxEP8XW38j02rBPhfkwE15ZVFbll5LhdYkQLmq6Ll+CGFeTOe?=
 =?us-ascii?q?HMO2jQ28+uK/DZK/UYnKBOuha3ozreD0LzImHJiWzyTx72eeRcxCjJORVfvM?=
 =?us-ascii?q?e6aRlgDi7kVt2uY0+/McRrlnsx2rI5gTXNL2F5U3A0ehFIp7yUqyRDjfh4XW?=
 =?us-ascii?q?ta831+Ka+DgSnR5rvEMJ8dquVtRCNvmO9dpnMh1rxO6GdDXvM93SLWqpQ3+Q?=
 =?us-ascii?q?Ocn+KCyyRqXF91khgX2drZhUx5Iu2Z84kaAS+C5xEc62iMTR4H9ZNpDdjmuq?=
 =?us-ascii?q?YYzdaq9uq7MDBZ79fd5tcRHeDQKdmbKzwmKhXkH3jTFgRNQTOwNG7ZjlBQi7?=
 =?us-ascii?q?nLqiXT9MFj7MGx3sFGQ6Q+NhR9Dv4AD0V5ANEOaIx6WD8pi//TjcIF42a/sA?=
 =?us-ascii?q?iERMheucOPXfaTDPPzbTeB2OAYP11SmOq+dNlVbd6euQQqcFRxkYXUFlCFWM?=
 =?us-ascii?q?AX+nQndQwlpkhRtnJzHQhRkwrobB2g5HgLGLu6hBkz30FiYOojsT3r/lE8K0?=
 =?us-ascii?q?HioCorjFJ3ns7qjDfXdyT+ZvTVP8keG2/vuk49P4muCR5ydhG3lFd4OS3sQ7?=
 =?us-ascii?q?NKk6AmcntkhQiavoFAU605L+UMcFobwveZYO8t2FJXp3C8xENJ0uDCDINriA?=
 =?us-ascii?q?ogdZP/52IFwQ9oa8Q5YLDBPKcchEYFnbqA52X7s4J5iB9bPUsG93mePTIFqF?=
 =?us-ascii?q?BdfKdzPDKmp6Rp+USLyT5KeWxKUOElr/Us8Vkyc+3SyyP7z6UFLVu+OuvZKL?=
 =?us-ascii?q?mW3gqI3cfaR1ox0gUPjEZI+v5xytokaE7SUFoghLLDCw4APtHcL0dSdMVf8z?=
 =?us-ascii?q?7UZjuJquGLxoh6d8C0EuSiFL7chOMvmkuhWT0RMcEJ58UFEIOr1RiHf8PmN6?=
 =?us-ascii?q?IejxI26wnsYlKfA6YQIU/ZoHI8u8i6iaRP88xdKzUaWDovNSSs+q2RoRQljf?=
 =?us-ascii?q?3FW805MC5DAtk0c0kuUcj/oBZ3+mxaBWDogOYY0xSZqTjnqSnXSj7mYIg7aQ?=
 =?us-ascii?q?=3D=3D?=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0GzAQA7m+9fhwMP04xiHgEBCxIMQIN?=
 =?us-ascii?q?FLhgBZFkBHgMHNoQ/g0uFOYgsA4opkgMWAQECAQEBAQEJGAsKAgQBAQEBhjs?=
 =?us-ascii?q?fBgEENBMCAwEBAQMCBQEBAQQBAQECAQECAwICAQECEAEBAQENCwkIKSwGWmY?=
 =?us-ascii?q?EYgZbBIFsDDMMgjgFAgMfAQZtgQYBAQEBAQEBAQEBAQEBAQEBAQEBARYCDVR?=
 =?us-ascii?q?oAQEBAQIBAQEBICMKHgsDAgEBAgYBAQoOCiIEBAICAwEjAS8GEwUEgx0BgmE?=
 =?us-ascii?q?FIAUKrRZ0AoEyhAeEf4FCgTiNKUGBQT+BRAOCLgcuPoJSCwEDAYR0gmAEgkR?=
 =?us-ascii?q?4PgEgO2c+Az4Cj0GLJYEdDUqbUYIPcYkqizqHFpJzj12fG5ZMgW2Be4ECAzu?=
 =?us-ascii?q?CaQlEAQIBAg0CAQIDAQICAgEBAgIBAQKSD4UUhWMjATECNQIGAQkBAQMJW4t?=
 =?us-ascii?q?SgW0BAQ?=
X-IPAS-Result: =?us-ascii?q?A0GzAQA7m+9fhwMP04xiHgEBCxIMQINFLhgBZFkBHgMHN?=
 =?us-ascii?q?oQ/g0uFOYgsA4opkgMWAQECAQEBAQEJGAsKAgQBAQEBhjsfBgEENBMCAwEBA?=
 =?us-ascii?q?QMCBQEBAQQBAQECAQECAwICAQECEAEBAQENCwkIKSwGWmYEYgZbBIFsDDMMg?=
 =?us-ascii?q?jgFAgMfAQZtgQYBAQEBAQEBAQEBAQEBAQEBAQEBARYCDVRoAQEBAQIBAQEBI?=
 =?us-ascii?q?CMKHgsDAgEBAgYBAQoOCiIEBAICAwEjAS8GEwUEgx0BgmEFIAUKrRZ0AoEyh?=
 =?us-ascii?q?AeEf4FCgTiNKUGBQT+BRAOCLgcuPoJSCwEDAYR0gmAEgkR4PgEgO2c+Az4Cj?=
 =?us-ascii?q?0GLJYEdDUqbUYIPcYkqizqHFpJzj12fG5ZMgW2Be4ECAzuCaQlEAQIBAg0CA?=
 =?us-ascii?q?QIDAQICAgEBAgIBAQKSD4UUhWMjATECNQIGAQkBAQMJW4tSgW0BAQ?=
X-MGA-submission: =?us-ascii?q?MDGmnqBliIHHBVaIYmOw0wHGA3GNANzfsL/lnM?=
 =?us-ascii?q?V+6wp6Gx2fmlBRHW1o0DQ/UPiGthtJ5Um34evI7wKHsJlecPdioEfIAa?=
 =?us-ascii?q?QqlrNgCftwrsT6EEg7LJqrpD3YzzwFoi++P90=3D?=
Received: from osgeo6.osgeo.osuosl.org (HELO lists.osgeo.org) ([140.211.15.3])
  by mx201.skynet.be with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 01 Jan 2021 23:01:27 +0100
Received: from osgeo6.osgeo.osuosl.org (localhost [127.0.0.1])
	by lists.osgeo.org (Postfix) with ESMTP id 1277A6145931;
	Fri,  1 Jan 2021 14:01:22 -0800 (PST)
Received: from smtp.simplesystems.org (smtp.simplesystems.org [65.66.246.90])
 by lists.osgeo.org (Postfix) with ESMTPS id 3F957614592C
 for <tiff@lists.osgeo.org>; Fri,  1 Jan 2021 14:01:20 -0800 (PST)
Received: from scrappy.simplesystems.org (scrappy.simplesystems.org
 [65.66.246.73])
 by smtp.simplesystems.org (8.14.4+Sun/8.14.4) with ESMTP id 101M108Z028143;
 Fri, 1 Jan 2021 16:01:01 -0600 (CST)
Date: Fri, 1 Jan 2021 16:01:00 -0600 (CST)
From: Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
X-X-Sender: bfriesen@scrappy.simplesystems.org
To: Roger Leigh <rleigh@codelibre.net>
cc: Tiff List <tiff@lists.osgeo.org>
In-Reply-To: <B36DC546-2948-43B2-B796-797B18D4413C@codelibre.net>
Message-ID: <alpine.GSO.2.20.2101011549130.20407@scrappy.simplesystems.org>
References: <B36DC546-2948-43B2-B796-797B18D4413C@codelibre.net>
User-Agent: Alpine 2.20 (GSO 67 2015-01-07)
MIME-Version: 1.0
Content-Type: multipart/mixed;
 BOUNDARY="3735943886-579427403-1609538461=:20407"
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16
 (smtp.simplesystems.org [65.66.246.90]); Fri, 01 Jan 2021 16:01:01 -0600 (CST)
Subject: Re: [Tiff] Enabling and requiring C99 language support
X-BeenThere: tiff@lists.osgeo.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: TIFF and libtiff discussion <tiff.lists.osgeo.org>
List-Unsubscribe: <https://lists.osgeo.org/mailman/options/tiff>,
 <mailto:tiff-request@lists.osgeo.org?subject=unsubscribe>
List-Post: <mailto:tiff@lists.osgeo.org>
List-Help: <mailto:tiff-request@lists.osgeo.org?subject=help>
List-Subscribe: <https://lists.osgeo.org/mailman/listinfo/tiff>,
 <mailto:tiff-request@lists.osgeo.org?subject=subscribe>
Errors-To: tiff-bounces@lists.osgeo.org
Sender: "Tiff" <tiff-bounces@lists.osgeo.org>

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--3735943886-579427403-1609538461=:20407
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8BIT

On Fri, 1 Jan 2021, Roger Leigh wrote:
> The main issue with !51 is this part of the public headers:
>
> https://gitlab.com/libtiff/libtiff/-/blob/master/libtiff/tiff.h#L66 <https://gitlab.com/libtiff/libtiff/-/blob/master/libtiff/tiff.h#L66>
>
> Here, we define the types int8, int16, int32, int64 and uint8, 
> uint16, uint32, uint64.  These don’t have a “tiff_" prefix and so 
> have the potential to clash with other libraries which also define 
> these types nonportably.  Since this is now reported to happen in 
> the real world, we do need to consider how to correct the problem.

If the problem (conflict) is well understood, then libtiff can take 
care to use the same underlying type as the conflicting definition so 
there is no error.  The conflicting definition may or may not be the 
same as defined by stdint.h.

It is not necessary for the type names to be C typedefs.  They can be 
defined via the C pre-processor instead so that they can be managed. 
The pre-processor is not quite as safe since it could overwrite some 
other symbol such as a variable name.

The problem we are reacting to was created long after libtiff used 
these typedefs.

> Unfortunately, given that user code may be using these types, any 
> change to the name would be a potential cause of breakage.  Two 
> options are to add the “tiff_" prefix to the types.  Or if we 
> require C99, to simply use the C99 int8_t … uint64_t types directly. 
> Neither would avoid the need for a major version bump.

It is difficult to see how we can stop offering the un-scoped type 
names that libraries and apps using libtiff have been using for 
umpteen years because they were the documented interface.  We can not 
expect all usages of libtiff to be prepared to adapt.

Bob
-- 
Bob Friesenhahn
bfriesen@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/
Public Key,     http://www.simplesystems.org/users/bfriesen/public-key.txt
--3735943886-579427403-1609538461=:20407
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Tiff mailing list
Tiff@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/tiff

--3735943886-579427403-1609538461=:20407--
