BASIC compiler/interpreter for PIC32MX/MZ-80K (suspended)
| Revision | 139 (tree) |
|---|---|
| Time | 2016-07-24 11:54:15 |
| Author | kmorimatsu |
Kenken's change on 7/23/2016
| @@ -102,23 +102,30 @@ | ||
| 102 | 102 | // テキスト全体の先頭からline行目のテキストバッファ上の位置を返す |
| 103 | 103 | // 戻り値 テキストバッファポインタ |
| 104 | 104 | // *pix(戻り値):戻り値テキストバッファの先頭からの位置(ポインタ渡し) |
| 105 | - _tbuf *bp; | |
| 106 | - int ix; | |
| 105 | + _tbuf *bp,*bp2; | |
| 106 | + int ix,ix2; | |
| 107 | 107 | bp=TBufstart; |
| 108 | + bp2=TBufstart; | |
| 108 | 109 | ix=0; |
| 110 | + ix2=0; | |
| 109 | 111 | while(line>1){ |
| 110 | 112 | while(1){ |
| 111 | 113 | if(ix>=bp->n){ |
| 114 | + if(bp->next==NULL) break; | |
| 112 | 115 | bp=bp->next; |
| 113 | 116 | ix=0; |
| 114 | 117 | continue; |
| 115 | 118 | } |
| 116 | - if(bp->Buf[ix++] == '\n') break; | |
| 119 | + if(bp->Buf[ix++] == '\n'){ | |
| 120 | + bp2=bp; | |
| 121 | + ix2=ix; | |
| 122 | + break; | |
| 123 | + } | |
| 117 | 124 | } |
| 118 | 125 | line--; |
| 119 | 126 | } |
| 120 | - *pix=ix; | |
| 121 | - return bp; | |
| 127 | + *pix=ix2; | |
| 128 | + return bp2; | |
| 122 | 129 | } |
| 123 | 130 | |
| 124 | 131 | _tbuf * newTBuf(_tbuf *prev){ |
| @@ -102,23 +102,30 @@ | ||
| 102 | 102 | // テキスト全体の先頭からline行目のテキストバッファ上の位置を返す |
| 103 | 103 | // 戻り値 テキストバッファポインタ |
| 104 | 104 | // *pix(戻り値):戻り値テキストバッファの先頭からの位置(ポインタ渡し) |
| 105 | - _tbuf *bp; | |
| 106 | - int ix; | |
| 105 | + _tbuf *bp,*bp2; | |
| 106 | + int ix,ix2; | |
| 107 | 107 | bp=TBufstart; |
| 108 | + bp2=TBufstart; | |
| 108 | 109 | ix=0; |
| 110 | + ix2=0; | |
| 109 | 111 | while(line>1){ |
| 110 | 112 | while(1){ |
| 111 | 113 | if(ix>=bp->n){ |
| 114 | + if(bp->next==NULL) break; | |
| 112 | 115 | bp=bp->next; |
| 113 | 116 | ix=0; |
| 114 | 117 | continue; |
| 115 | 118 | } |
| 116 | - if(bp->Buf[ix++] == '\n') break; | |
| 119 | + if(bp->Buf[ix++] == '\n'){ | |
| 120 | + bp2=bp; | |
| 121 | + ix2=ix; | |
| 122 | + break; | |
| 123 | + } | |
| 117 | 124 | } |
| 118 | 125 | line--; |
| 119 | 126 | } |
| 120 | - *pix=ix; | |
| 121 | - return bp; | |
| 127 | + *pix=ix2; | |
| 128 | + return bp2; | |
| 122 | 129 | } |
| 123 | 130 | |
| 124 | 131 | _tbuf * newTBuf(_tbuf *prev){ |