From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 18537 invoked from network); 16 Aug 2021 11:00:34 -0000 Received: from 1ess.inri.net (216.126.196.35) by inbox.vuxu.org with ESMTPUTF8; 16 Aug 2021 11:00:34 -0000 Received: from mail-lj1-f170.google.com ([209.85.208.170]) by 1ess; Sun Aug 15 18:02:59 -0400 2021 Received: by mail-lj1-f170.google.com with SMTP id h11so24336641ljo.12 for <9front@9front.org>; Sun, 15 Aug 2021 15:02:50 -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:cc :content-transfer-encoding; bh=1zmI/W7soFhFzyUBrKFCdjRMn+qd/zL0P0a0S+godrM=; b=UQerXDxX1kQXKmTC2hc03fem+5wRfvNGPov5GvIdo69fqs5Qkp8cSdMbMNEEbr57gh p0d0Z5b49jIVNR6f9JeRkJn/iNhm67l3CVyOg5znMKShpW01KrSTPc6LpgYGFVyC8ANn q9kURraXGfb8O7pKfK7ylzh5aSEeu+nx3b6YXZQb78SzO5vVP71UgHjqAQECxqHipjVv CX5vXO3XHsNav+5FP4m2MnAU9ja8UI3xkf8+6MraBtPdGbm3FFni1rslPc43mWHYDRj+ KcjRTQSvPf5I7fxS/88hQLPLmyOG52Y/thdZVRnstwVin1ru8FwxmLwCEzOK/k8mSZ4c wbqA== 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:cc :content-transfer-encoding; bh=1zmI/W7soFhFzyUBrKFCdjRMn+qd/zL0P0a0S+godrM=; b=G+m9FoMKx+EenOTkRYJSU+32mcbGeFkE7RkSGZ/dWPwIpsmwo+22JdHsVE38MqMx7X pupNWUfBb3aIQdb5Pu3I29t+nnq50ryWjcXiEoshsH2T6VbZN4/6Pz5apfW3CvftmAgh lVuQTqZMHx6uLzihauuZlHT+bZQ6LU8o/8dqPCwLygVnRpj9+PAvIhh8HhoWQQUZOdBB Wou2oVmmtkTbjXrAbRWxtXPu29dYs10UymyQ9y+BddElM0feQQD9U+stU5Erzdf8mOXD emaobhLaYLaSRHLbfWh7IyuzFId6z7A82PkSAfkNGN4dh5hLv4wh7SvASCEXtfNJC5kY DR5Q== X-Gm-Message-State: AOAM5304Pywod1UBpx1hqeL5g3LqycyzlTvmb/W1JktpbdE8QxC/vP3A oDYtVx2SmRF87zJ9APefjBTK2ixa4HC5HdzjpRJxAnBmdbo= X-Google-Smtp-Source: ABdhPJwNeJWwgzHLcU/OfFF7JXnYqLY808TAFOSOnZYfclMzIAVZdK4gjwiak321fagHg9nuKIrwaEf0oUGBJ0y7lxw= X-Received: by 2002:a2e:9953:: with SMTP id r19mr4710232ljj.270.1629064969709; Sun, 15 Aug 2021 15:02:49 -0700 (PDT) MIME-Version: 1.0 From: Sean Hinchee Date: Sun, 15 Aug 2021 15:02:38 -0700 Message-ID: To: 9front@9front.org Cc: nabijaczleweli@nabijaczleweli.xyz Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: progressive asynchronous lifecycle self-signing event-oriented solution Subject: [9front] seq: fix infinite loop Reply-To: 9front@9front.org Precedence: bulk =D0=BD=D0=B0=D0=B1 on twitter, then over e-mail (CC'd) pointed out that seq= (1) in 9front with some very large inputs For example: ; seq 2e16 20000000000000002 would loop forever. After patch application, seq with the above example would print '2e+16' once and then exit. Patch also brings the usage message in line with the manual usage. Patch link: http://okturing.com/src/11872/body Inline: --- //.git/fs/object/2af46e406bbd443ae10025777247798a685afc3c/tree/sys/src/= cmd/seq.c +++ sys/src/cmd/seq.c @@ -11,7 +11,7 @@ void usage(void) { - fprint(2, "usage: seq [-fformat] [-w] [first [incr]] last\n"); + fprint(2, "usage: seq [-w] [-fformat] [first [incr]] last\n"); exits("usage"); } @@ -67,6 +67,7 @@ default: goto out; }ARGEND + out: if(argc<1 || argc>3) usage(); @@ -81,6 +82,7 @@ } if(!format) buildfmt(); + if(incr > 0){ for(val =3D min; val <=3D max; val +=3D incr){ n =3D sprint(buf, format, val); @@ -88,6 +90,8 @@ for(j=3D0; buf[j]=3D=3D' '; j++) buf[j] =3D'0'; write(1, buf, n); + if(val =3D=3D max) + break; } }else{ for(val =3D min; val >=3D max; val +=3D incr){ @@ -96,7 +100,10 @@ for(j=3D0; buf[j]=3D=3D' '; j++) buf[j] =3D'0'; write(1, buf, n); + if(val =3D=3D max) + break; } } + exits(0); }