return rv;
return NS_OK;
BookmarkParser::Parse(PRFileDesc* file, nsIRDFDataSource* dataSource){    NS_PRECONDITION(file != nsnull, "null ptr");    if (! file)        return NS_ERROR_NULL_POINTER;    NS_PRECONDITION(dataSource != nsnull, "null ptr");    if (! dataSource)        return NS_ERROR_NULL_POINTER;    NS_PRECONDITION(gRDFService != nsnull, "not initialized");    if (! gRDFService)        return NS_ERROR_NOT_INITIALIZED;    // Initialize the parser for a run...    mDataSource = dataSource;    mState = eBookmarkParserState_Initial;    mCounter = 0;    mLastItem = nsnull;    mLine.Truncate();    char buf[1024];    PRInt32 len;    nsresult rv;    while ((len = PR_Read(file, buf, sizeof(buf))) > 0) {        if (NS_FAILED(rv = Tokenize(buf, len))) {            NS_ERROR("error tokenizing");            break;        }    }    NS_IF_RELEASE(mLastItem);    return rv;}