simon-git: putty (main): Simon Tatham

Commits to Tartarus hosted VCS tartarus-commits at lists.tartarus.org
Sat Apr 10 11:51:13 BST 2021


TL;DR:
  736646b0 Fix a few warnings reported by Visual Studio.

Repository:     https://git.tartarus.org/simon/putty.git
On the web:     https://git.tartarus.org/?p=simon/putty.git
Branch updated: main
Committer:      Simon Tatham <anakin at pobox.com>
Date:           2021-04-10 11:51:13

commit 736646b0c973555362cfe82a32ff1ed48c69f018
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=736646b0c973555362cfe82a32ff1ed48c69f018;hp=7c42ca02808df4bb46963ed58b45a469cd5f6855
Author: Simon Tatham <anakin at pobox.com>
Date:   Sat Apr 10 11:51:08 2021 +0100

    Fix a few warnings reported by Visual Studio.
    
    Many of VS's warnings are too noisy to be useful, but I just tried the
    experiment of turning off the unrecoverable ones and seeing what was
    left, and I found a couple of things that actually seem worth fixing.
    
    In a few cases in mpint.c, and in one case in sshzlib.c, we had the
    idiom 'size_t var = 1 << bitpos;', and VS pointed out that when '1' is
    implicitly a 32-bit int and 'size_t' is 64 bits, this is probably not
    what you wanted. Writing '(size_t)1 << bitpos' is safer.
    
    Secondly, VS complained about lots of functions failing to return a
    value, or not returning a value on every code path. In every case this
    was somewhere that we'd used the local unreachable() idiom to indicate
    that those code paths didn't return at all. So the real problem was
    that that idiom didn't work in VS. And that's not because VS _can't_
    mark functions as noreturn: it has a perfectly good declspec for it.
    It was just that we hadn't actually _done_ it. Now added a clause in
    the #if in defs.h that spots VS and uses the declspec.

 defs.h    | 2 ++
 mpint.c   | 8 ++++----
 sshzlib.c | 2 +-
 3 files changed, 7 insertions(+), 5 deletions(-)



More information about the tartarus-commits mailing list