Well, the code's there.

The missing if is at 3e462, the then clause is 3e468, the else is 3e46c, and
the return code starts at 3e47a.

Looks like it's just the line numbering information that's getting lost
somehow.  

Weird.

George


> //===== M I X E D =====
> 
> static Word BuildTextLine(CharPtr dstStr, CharPtr srcStr)
> {
> 0003E436: 4E560000        link     a6,#0
> 0003E43A: 2F04            move.l   d4,-(sp)
> 0003E43C: 2F03            move.l   d3,-(sp)
> Word dstStrLen;
> Word srcStrLen;
> Word copyLen;
> 
> dstStrLen = StrLen(dstStr);
> 0003E43E: 2F2E0008        move.l   8(a6),-(sp)
> 0003E442: 4E4F            trap     #15
> 0003E444: A0C7            _StrLen
> 0003E446: 3600            move.w   d0,d3
> srcStrLen = StrLen(srcStr);
> 0003E448: 2F2E000C        move.l   12(a6),-(sp)
> 0003E44C: 4E4F            trap     #15
> 0003E44E: A0C7            _StrLen
> 0003E450: 3800            move.w   d0,d4
> 
> if(dstStrLen >= 37)
> 0003E452: 0C430025        cmpi.w   #37,d3
> 0003E456: 504F            addq.w   #8,sp
> 0003E458: 6504            bcs.s    *+6                     ; 0x0003e45e
> return dstStrLen;
> 0003E45A: 3003            move.w   d3,d0
> 0003E45C: 601C            bra.s    *+30                    ; 0x0003e47a
> 
> //// No code is generated for this source ////
> if( (dstStrLen + srcStrLen) <= 37)
> {
> copyLen = srcStrLen;
> }
> else
> {
> copyLen = (srcStrLen - ( (dstStrLen + srcStrLen) - 37));
> }
> //// No code is generated for this source ////
> 
> return copyLen;
> 0003E45E: 3003            move.w   d3,d0
> 0003E460: D044            add.w    d4,d0
> 0003E462: 0C400025        cmpi.w   #37,d0
> 0003E466: 6204            bhi.s    *+6                     ; 0x0003e46c
> 0003E468: 3004            move.w   d4,d0
> 0003E46A: 600E            bra.s    *+16                    ; 0x0003e47a
> 0003E46C: 3003            move.w   d3,d0
> 0003E46E: D044            add.w    d4,d0
> 0003E470: 0640FFDB        addi.w   #-37,d0
> 0003E474: 3204            move.w   d4,d1
> 0003E476: 9240            sub.w    d0,d1
> 0003E478: 3001            move.w   d1,d0
> 
> 0003E47A: 261F            move.l   (sp)+,d3
> 0003E47C: 281F            move.l   (sp)+,d4
> 0003E47E: 4E5E            unlk     a6
> 0003E480: 4E75            rts
> 0003E482: 8D427569        pack     d2,d6,#0x7569
> 0003E486: 6C64            bge.s    *+102                   ; 0x0003e4ec
> 0003E488: 5465            addq.w   #2,-(a5)
> 0003E48A: 7874            moveq    #116,d4
> 0003E48C: 4C696E650000    divs.l   0(a1),d5:d6
> 

Reply via email to