/* readonly attribute string languageName; */ NS_IMETHODIMP JSStackFrame::GetLanguageName(char** aLanguageName) { static const char js[] = "JavaScript"; static const char cpp[] = "C++"; if (IsJSFrame()) { *aLanguageName = (char*) nsMemory::Clone(js, sizeof(js)); } else { *aLanguageName = (char*) nsMemory::Clone(cpp, sizeof(cpp)); } return NS_OK; }
/* readonly attribute string languageName; */ NS_IMETHODIMP XPCJSStackFrame::GetLanguageName(char * *aLanguageName) { static const char js[] = "JavaScript"; static const char cpp[] = "C++"; char* temp; if (IsJSFrame()) *aLanguageName = temp = (char*) nsMemory::Clone(js, sizeof(js)); else *aLanguageName = temp = (char*) nsMemory::Clone(cpp, sizeof(cpp)); return temp ? NS_OK : NS_ERROR_OUT_OF_MEMORY; }
/* string toString (); */ NS_IMETHODIMP JSStackFrame::ToString(char** _retval) { const char* frametype = IsJSFrame() ? "JS" : "native"; const char* filename = mFilename ? mFilename : "<unknown filename>"; const char* funname = mFunname ? mFunname : "<TOP_LEVEL>"; static const char format[] = "%s frame :: %s :: %s :: line %d"; int len = sizeof(char)* (strlen(frametype) + strlen(filename) + strlen(funname)) + sizeof(format) + 3 * sizeof(mLineno); char* buf = (char*) nsMemory::Alloc(len); JS_snprintf(buf, len, format, frametype, filename, funname, mLineno); *_retval = buf; return NS_OK; }