From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com [IPv6:2a00:1450:4864:20::12c]) by sourceware.org (Postfix) with ESMTPS id C77E63857C71 for ; Mon, 16 Aug 2021 02:38:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C77E63857C71 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-lf1-x12c.google.com with SMTP id i28so4813991lfl.2 for ; Sun, 15 Aug 2021 19:38:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=aHlpBQ8PK/mKaRH9ZFThMEpafl22kx9p0vt7NGzQpIk=; b=RwD2GELyd2I5ga2xhTDNRLycMY9Tb/czrld+VczaWXFog7oP0OaZij1xnZ/8YvoybK DPR34g8SfZfIXwV/MuqAbzmpucs306DzQJ6hklIC7hKV7EEjZYpIiTayd2ChVdhn7V6j WzHka56tMjuVOqOKe//A+tKCaS8uiY/2EjEoiYoP7gwel6plJnxMf5lGtCAo+oGabbUB alntsCFWMNlCJAcS+AxqvBVo/lq5sCV6Rxuvx3nA21RXTM49KA6Qc9roM/Ay3UijMld9 102I8oSWk0FOlXBWlxwz+wgGX8pg3GwV7s/NfGxFT2znODdeCD0jYArjyzg6YPPHEAkS riCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=aHlpBQ8PK/mKaRH9ZFThMEpafl22kx9p0vt7NGzQpIk=; b=hGBbCucSbzK8HW9i9BRvm2SJKkepVyc53JKYtbbcXNeohXaQH6qTQBMenTET0S2Amd yJN8V8f46pB95U5WQ5RATjladLI4OguF/gUyPHrMnq2J8xGKqWQ3MuRZYpitTmcB7VYt sCpCTl4yE6daa1lddyUsxFjKm8GxpnnU8ZCnBNVy6Q0l3X/XhAHumiXIq4n7lk0TZ7DI c+GUPcAob9AKC724tPcUGFXUj/0z3spkXHHw9eSwr6ys8vcX++3TIQsUsm1PAPGC6H9H hFzyH1r3AYabDfCOqoeYcSDtnwnDa/ZEMncjj2fEUl+cFLxXdgg2LO2hESgyua/hoMca HaKw== X-Gm-Message-State: AOAM532i/3fff20lREuhbYSdXU9rEFgvSxVScJW6e9Ra7R4f7rjCOsPl 5ZbPKgtLU0N2RGqC4cVyWpdwzxnH7ALLa6jEWh15jvIaRRQ= X-Google-Smtp-Source: ABdhPJzbjzT33c1v4qnz9NMH+bNb7GN3aEuWGqqyxx+JlhF62lUW25giwNC6md7cc8D5y5Oru9WuuQCPdxCgJax9dC4= X-Received: by 2002:a05:6512:e94:: with SMTP id bi20mr3319129lfb.350.1629081517383; Sun, 15 Aug 2021 19:38:37 -0700 (PDT) MIME-Version: 1.0 From: Alexandre Raymond Date: Sun, 15 Aug 2021 22:38:11 -0400 Message-ID: Subject: Issue with sscanf not parsing correctly To: newlib@sourceware.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: newlib@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Newlib mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Aug 2021 02:38:40 -0000 Greetings! I have been developing on a Teensy 4.1 platform, which I'm told uses newlib under the hood, and encountered a strange issue with sscanf, where different parameter orderings yield different results with stdint types. Here is a minimal code sample which exhibits the issue: ---8<--- #include #include void setup() { uint8_t i2c_addr = 1; uint16_t mem_addr = 1; uint8_t len = 1; int ret; Serial.println(String(i2c_addr) + "," + String(mem_addr) + "," + String(len)); //prints: 1,1,1 const char *cmd = "1 2 3\n"; // This is the order I intended to scan the string in ret = sscanf(cmd, "%hhu %hu %hhu", &i2c_addr, &mem_addr, &len); Serial.println(String(ret) + "- " + String(i2c_addr) + "," + String(mem_addr) + "," + String(len)); // prints: 3- 1,0,3 // I just swap the order of the target variables around ret = sscanf(cmd, "%hhu %hhu %hu", &i2c_addr, &len, &mem_addr); Serial.println(String(ret) + "- " + String(i2c_addr) + "," + String(len) + "," + String(mem_addr)); // prints: 3- 1,2,3 } void loop() { } --8<--- Would you have any idea what may be causing this? Thanks in advance for your help! Alexandre