From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 467807F106 for ; Mon, 18 Jul 2016 11:00:13 +0200 (CEST) IronPort-PHdr: 9a23:ZsgDJREf9JRlqKiec3A1ip1GYnF86YWxBRYc798ds5kLTJ75oM2wAkXT6L1XgUPTWs2DsrQf2rKQ7/GrATJIyK3CmUhKSIZLWR4BhJdetC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TWM5DIfUi/yKRBybrysXNWD14LrhqvqpdX6WEZhvHKFe7R8LRG7/036l/I9ps9cEJs30QbDuXBSeu5blitCLFOXmAvgtI/rpMYwuwwZgf8q9tZBXKPmZOx4COUAVHV1e1wysYfRtBLDRBGDrkRadyNesB1ODhOPpEXgX5zxmiL8sOdt2SDcOtf5G+MaQzOnuoVmUhLtmW82Pjo993mf3t15iKZcuDquohV+x8jfZ4TDZ6k2Rb/UYd5PHTkJZc1WTSEUR9rkN4Y= Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=yallop@gmail.com; spf=Pass smtp.mailfrom=yallop@gmail.com; spf=None smtp.helo=postmaster@mail-qk0-f180.google.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of yallop@gmail.com) identity=pra; client-ip=209.85.220.180; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="yallop@gmail.com"; x-sender="yallop@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of yallop@gmail.com designates 209.85.220.180 as permitted sender) identity=mailfrom; client-ip=209.85.220.180; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="yallop@gmail.com"; x-sender="yallop@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-qk0-f180.google.com) identity=helo; client-ip=209.85.220.180; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="yallop@gmail.com"; x-sender="postmaster@mail-qk0-f180.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0CpAAAkmoxXhrTcVdFchBV8Bq04izuBeSSFdgKBKgc4FAEBAQEBAQEBEQEBAQgLCwkhL4IyBAESAYITAQUSER0BGx0BAwwGBQsNAgImAgIiAREBBQEcBhMIGodzAQMXDqNhgTE+MYs7gWqCWgWEJwoZJw1Sg0wBAQEBAQUBAQEBAQEZAgEFEHGJdodBgloFmSSGE4hMgVWNYkiOFxIegQ8eglKBWDsyhz4BAQE X-IPAS-Result: A0CpAAAkmoxXhrTcVdFchBV8Bq04izuBeSSFdgKBKgc4FAEBAQEBAQEBEQEBAQgLCwkhL4IyBAESAYITAQUSER0BGx0BAwwGBQsNAgImAgIiAREBBQEcBhMIGodzAQMXDqNhgTE+MYs7gWqCWgWEJwoZJw1Sg0wBAQEBAQUBAQEBAQEZAgEFEHGJdodBgloFmSSGE4hMgVWNYkiOFxIegQ8eglKBWDsyhz4BAQE X-IronPort-AV: E=Sophos;i="5.28,383,1464645600"; d="scan'208";a="226983117" Received: from mail-qk0-f180.google.com ([209.85.220.180]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 18 Jul 2016 10:59:41 +0200 Received: by mail-qk0-f180.google.com with SMTP id x1so66451644qkb.3 for ; Mon, 18 Jul 2016 01:59:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=Kib1SphsvGsY5Jj51xkofV8qTkVl3+hXHSdYxj6cdW4=; b=vbrRv2nSiIM8zvB/gwQlGURaklNmmARw1Kc5Em06+9pzx1cH7btmQABsZXLJmowmaR aDuu118lVWYm3d3KZCP766PrSM3Tnb8PKLUPQ3OhyLGK1iBYVtvYOKMd141S5laKjupn v595cfX9q7PH3B1Yap1oKWAYtJ7D3d4E0/7yPQW0/sUEMpa0Xb2bQIWqB531Y2ZTbEsj Q8ZyRuipCAvdH2ru25EGrC/t4NdHZRUuu8jS2XApyoXhOw9af5t22VZMuYeUspA78t7g 8o+9X/Hl9O2fiVysBqFvtr0//FrJbcgMolx0tUaUOpAlkLgM/m7mJ7stCQ3P1anBw0Fi jgdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=Kib1SphsvGsY5Jj51xkofV8qTkVl3+hXHSdYxj6cdW4=; b=h58cvFFi6os8u5d1siVp6nwoPNV2836ISx1d3KHRZmD3n/UCHCYjlGn05WjLcD/YoI wnOnyHKnv4WFk0lqTyQsuDLuwtluD89F3q9SMCy3qTHmmNbOAhmDhCrmZx2fC1s1rtmM gUVX2OCDtqqfKfJzMlfiUPPQ95lTbkb9uLwN6yMhAQWoqErTIP4uIGWGFqcvqE6fQaIx RXYj48xKGkF/yOjn1Nr0zbYorb+8G7AY1jkLINXla+umoO1iOFaSUNJ0+dwBbeC43wAy DZZ7RnkEyxwwvoG3SHAKCHPDbc5oWk7IbR7M0iyPtYd2ohD9mNjCDkzwNza6YYWGgClz vzsw== X-Gm-Message-State: ALyK8tI8EbPYH6vJ5ve6R6MUF2bJws5pGUrSrI7qq6Ir+s6TqeU7BSIJtawixFqqknaK0ttRy6GDmGxu3+Te+A== X-Received: by 10.55.40.200 with SMTP id o69mr43665768qko.101.1468832380571; Mon, 18 Jul 2016 01:59:40 -0700 (PDT) MIME-Version: 1.0 Received: by 10.55.115.2 with HTTP; Mon, 18 Jul 2016 01:59:40 -0700 (PDT) In-Reply-To: <20160718084349.GC27249@annexia.org> References: <20160718084349.GC27249@annexia.org> From: Jeremy Yallop Date: Mon, 18 Jul 2016 09:59:40 +0100 Message-ID: To: "Richard W.M. Jones" Cc: Caml List Content-Type: text/plain; charset=UTF-8 Subject: Re: [Caml-list] OCaml max_int and min_int in C On 18 July 2016 at 09:43, Richard W.M. Jones wrote: > We need to check that an integer being returned from some C bindings > isn't larger or smaller than Pervasives.max_int / min_int. Are there > C macros or constants containing these bounds? Obviously we can > define our own but it seems better to use ones from OCaml if they > exist. There are Max_long and Min_long: https://github.com/ocaml/ocaml/blob/ebbe205d/byterun/caml/mlvalues.h#L75-L76 Here's an example of Max_long being used to check that the return value of lseek fits in an OCaml int: https://github.com/ocaml/ocaml/blob/ebbe205d/otherlibs/unix/lseek.c#L46-L50