Changeset 4768


Ignore:
Timestamp:
11/15/03 15:53:38 (18 years ago)
Author:
piso
Message:

backtraceAsList(): avoid NPE if frame is null.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/j/src/org/armedbear/lisp/LispThread.java

    r4716 r4768  
    33 *
    44 * Copyright (C) 2003 Peter Graves
    5  * $Id: LispThread.java,v 1.22 2003-11-13 17:48:19 piso Exp $
     5 * $Id: LispThread.java,v 1.23 2003-11-15 15:53:38 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    297297                for (int i = stack.size(); i-- > 0;) {
    298298                    StackFrame frame = (StackFrame) stack.get(i);
    299                     LispObject obj = NIL;
    300                     LispObject[] argv = frame.getArgumentVector();
    301                     for (int j = argv.length; j-- > 0;)
    302                         obj = new Cons(argv[j], obj);
    303                     LispObject functional = frame.getFunctional();
    304                     if (functional instanceof Functional &&
    305                         ((Functional)functional).getLambdaName() != null)
    306                         obj = new Cons(((Functional)functional).getLambdaName(), obj);
    307                     else
    308                         obj = new Cons(functional, obj);
    309                     result = new Cons(obj, result);
    310                     if (limit > 0 && ++count == limit)
    311                         break;
     299                    if (frame != null) {
     300                        LispObject obj = NIL;
     301                        LispObject[] argv = frame.getArgumentVector();
     302                        for (int j = argv.length; j-- > 0;)
     303                            obj = new Cons(argv[j], obj);
     304                        LispObject functional = frame.getFunctional();
     305                        if (functional instanceof Functional &&
     306                            ((Functional)functional).getLambdaName() != null)
     307                            obj = new Cons(((Functional)functional).getLambdaName(), obj);
     308                        else
     309                            obj = new Cons(functional, obj);
     310                        result = new Cons(obj, result);
     311                        if (limit > 0 && ++count == limit)
     312                            break;
     313                    }
    312314                }
    313315            }
Note: See TracChangeset for help on using the changeset viewer.