delorie.com/archives/browse.cgi | search |
X-Authentication-Warning: | delorie.com: mail set sender to djgpp-workers-bounces using -f |
X-Recipient: | djgpp-workers AT delorie DOT com |
DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; |
d=gmail.com; s=gamma; | |
h=domainkey-signature:mime-version:received:in-reply-to:references | |
:date:message-id:subject:from:to:content-type; | |
bh=Hq1yy0gLzqgh/29hbqjYlRqF7fYi9GJAXxrMg+jdVk4=; | |
b=edAW7RICiRTv4mhT/VNqCsUYf7aAeXAekQZxpX6exhd3HoPx4dDi3hIS796EBDspLT | |
B7wgc/4kQBD16WPBzj/Vq+gyo7n/SatGbCdMjc0sNbEMDxWV41aWCIXhNAJ+xaRdEom2 | |
yqPuIJIMQgzT9gX6gvW+eq28gs1HldjbuTEc0= | |
DomainKey-Signature: | a=rsa-sha1; c=nofws; |
d=gmail.com; s=gamma; | |
h=mime-version:in-reply-to:references:date:message-id:subject:from:to | |
:content-type; | |
b=aknlQeJ5KYooNaLqSwLc8Q5wRfu1irpMuxVEt9W7OVE7PZC07ZSxIUJY/sLpVzR+As | |
DDDPWKsNGNaWxdGuvtD8WZLsGiRuqjBTAPA71Sb17J7/IEAj4Nkq/C5zwRDRsMa4+uPT | |
QC3ET8nsJVamtqpbh8hlZ4eOvcQHZ3ZhOtZ2I= | |
MIME-Version: | 1.0 |
In-Reply-To: | <b7e3b865-abbc-4ee7-a29a-88239153ad80@k17g2000yqh.googlegroups.com> |
References: | <0008cd2e-63c9-43cb-82d4-11aece7c209f AT c3g2000yqd DOT googlegroups DOT com> |
<200911100429 DOT nAA4T6BM021619 AT envy DOT delorie DOT com> | |
<b74a4c40-3d78-4952-98b0-ff9777f0594d AT p35g2000yqh DOT googlegroups DOT com> | |
<200911102010 DOT nAAKAxKI006111 AT envy DOT delorie DOT com> | |
<ebf65bf7-5445-44cc-a73f-7dd40fbe49d3 AT v30g2000yqm DOT googlegroups DOT com> | |
<hddtej$g02$1 AT aioe DOT org> | |
<b7e3b865-abbc-4ee7-a29a-88239153ad80 AT k17g2000yqh DOT googlegroups DOT com> | |
Date: | Wed, 11 Nov 2009 17:59:44 -0600 |
Message-ID: | <93c172b50911111559t37cfbc6p5b9063354fa90dab@mail.gmail.com> |
Subject: | Re: GAS ".code16" and DJASM quirks ... |
From: | Rugxulo <rugxulo AT gmail DOT com> |
To: | djgpp-workers AT delorie DOT com |
Reply-To: | djgpp-workers AT delorie DOT com |
Errors-To: | nobody AT delorie DOT com |
X-Mailing-List: | djgpp-workers AT delorie DOT com |
X-Unsubscribes-To: | listserv AT delorie DOT com |
Okay, here's a small context diff against DJASM with Martin's suggestions (and it works, too): *** tony_y.bk2 Tue Nov 10 21:26:58 2009 --- martin.y Wed Nov 11 17:51:16 2009 *************** *** 15,20 **** --- 15,21 ---- #include <time.h> #include <ctype.h> #include <unistd.h> + #include <limits.h> /* INT_MAX */ #ifndef O_BINARY #define O_BINARY 0 #endif *************** *** 2335,2341 **** { int c, c2, i, oldc; struct opcode *opp, op; ! char str[33], str2[33]; do { c = fgetc(infile); --- 2336,2349 ---- { int c, c2, i, oldc; struct opcode *opp, op; ! ! ! #define STRMAX 32 ! #define CHARS "0-9a-fA-FhHxX" ! char str [STRMAX+1+1], /* 1 for NUL, 1 for 'h' -> "0x" transformation */ ! str2[STRMAX+1+1]; ! char format[1 + sizeof(INT_MAX) + 1 + sizeof(CHARS) + 1 + 1]; ! do { c = fgetc(infile); *************** *** 2454,2471 **** } } #else ungetc(c, infile); ! fscanf(infile, "%[0-9a-fA-FhHxX]",str); if (str[strlen(str)-1] == 'h' || str[strlen(str)-1] == 'H') { ! str[strlen(str)-1]='\0'; ! strcpy(str2,"0x"); ! strcat(str2,str); ! strcpy(str,str2); } ! sscanf(str, "%i", &(yylval.i)); #endif --- 2462,2483 ---- } } #else + ungetc(c, infile); + /* fscanf(infile, "%i", &(yylval.i)); */ + ! sprintf(format, "%%%d[%s]", STRMAX, CHARS); ! fscanf(infile, format, str); ! strcpy(str2,str); if (str[strlen(str)-1] == 'h' || str[strlen(str)-1] == 'H') { ! sprintf(str2, "0x%s", str); ! str2[strlen(str2)-1]='\0'; } ! ! sscanf(str2, "%i", &(yylval.i)); #endif On Wed, Nov 11, 2009 at 3:50 PM, Rugxulo <rugxulo AT gmail DOT com> wrote: > > Hey guys, is this a better place to discuss this (DJASM hacks/ > improvements)?
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |