vm.c (94290) | vm.c (167850) |
---|---|
1/******************************************************************* 2** v m . c 3** Forth Inspired Command Language - virtual machine methods 4** Author: John Sadler (john_sadler@alum.mit.edu) 5** Created: 19 July 1997 6** $Id: vm.c,v 1.13 2001/12/05 07:21:34 jsadler Exp $ 7*******************************************************************/ 8/* --- 33 unchanged lines hidden (view full) --- 42** DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 43** OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 44** HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 45** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 46** OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 47** SUCH DAMAGE. 48*/ 49 | 1/******************************************************************* 2** v m . c 3** Forth Inspired Command Language - virtual machine methods 4** Author: John Sadler (john_sadler@alum.mit.edu) 5** Created: 19 July 1997 6** $Id: vm.c,v 1.13 2001/12/05 07:21:34 jsadler Exp $ 7*******************************************************************/ 8/* --- 33 unchanged lines hidden (view full) --- 42** DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 43** OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 44** HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 45** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 46** OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 47** SUCH DAMAGE. 48*/ 49 |
50/* $FreeBSD: head/sys/boot/ficl/vm.c 94290 2002-04-09 17:45:28Z dcs $ */ | 50/* $FreeBSD: head/sys/boot/ficl/vm.c 167850 2007-03-23 22:26:01Z jkim $ */ |
51 52#ifdef TESTMAIN 53#include <stdlib.h> 54#include <stdio.h> 55#include <ctype.h> 56#else 57#include <stand.h> 58#endif --- 252 unchanged lines hidden (view full) --- 311** single delimiter character. 312**************************************************************************/ 313STRINGINFO vmGetWord0(FICL_VM *pVM) 314{ 315 char *pSrc = vmGetInBuf(pVM); 316 char *pEnd = vmGetInBufEnd(pVM); 317 STRINGINFO si; 318 FICL_UNS count = 0; | 51 52#ifdef TESTMAIN 53#include <stdlib.h> 54#include <stdio.h> 55#include <ctype.h> 56#else 57#include <stand.h> 58#endif --- 252 unchanged lines hidden (view full) --- 311** single delimiter character. 312**************************************************************************/ 313STRINGINFO vmGetWord0(FICL_VM *pVM) 314{ 315 char *pSrc = vmGetInBuf(pVM); 316 char *pEnd = vmGetInBufEnd(pVM); 317 STRINGINFO si; 318 FICL_UNS count = 0; |
319 char ch; | 319 char ch = 0; |
320 321 pSrc = skipSpace(pSrc, pEnd); 322 SI_SETPTR(si, pSrc); 323 | 320 321 pSrc = skipSpace(pSrc, pEnd); 322 SI_SETPTR(si, pSrc); 323 |
324/* |
|
324 for (ch = *pSrc; (pEnd != pSrc) && !isspace(ch); ch = *++pSrc) 325 { 326 count++; 327 } | 325 for (ch = *pSrc; (pEnd != pSrc) && !isspace(ch); ch = *++pSrc) 326 { 327 count++; 328 } |
329*/ |
|
328 | 330 |
331 /* Changed to make Purify happier. --lch */ 332 for (;;) 333 { 334 if (pEnd == pSrc) 335 break; 336 ch = *pSrc; 337 if (isspace(ch)) 338 break; 339 count++; 340 pSrc++; 341 } 342 |
|
329 SI_SETLEN(si, count); 330 331 if ((pEnd != pSrc) && isspace(ch)) /* skip one trailing delimiter */ 332 pSrc++; 333 334 vmUpdateTib(pVM, pSrc); 335 336 return si; --- 455 unchanged lines hidden --- | 343 SI_SETLEN(si, count); 344 345 if ((pEnd != pSrc) && isspace(ch)) /* skip one trailing delimiter */ 346 pSrc++; 347 348 vmUpdateTib(pVM, pSrc); 349 350 return si; --- 455 unchanged lines hidden --- |