diff options
| author | 2010-07-20 16:44:29 -0700 | |
|---|---|---|
| committer | 2010-07-20 16:44:29 -0700 | |
| commit | 19a25c1be9a0b846c5c1b4216edd9b33a23129be (patch) | |
| tree | 1f4f69ec61947f52977a23ddb0804fb118155733 /libs/rs | |
| parent | 2a0a47892db7025f1dafae24f72172572de82475 (diff) | |
| parent | 07876467556a4603b8186ccf60fa8fc3d55a7d5a (diff) | |
Merge "Use bccGetExportVars to get mFieldCount, instead of hardwiring "100" in calloc."
Diffstat (limited to 'libs/rs')
| -rw-r--r-- | libs/rs/rsScriptC.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/libs/rs/rsScriptC.cpp b/libs/rs/rsScriptC.cpp index 5261f57fef58..7c7b03739e82 100644 --- a/libs/rs/rsScriptC.cpp +++ b/libs/rs/rsScriptC.cpp @@ -390,9 +390,13 @@ void ScriptCState::runCompiler(Context *rsc, ScriptC *s) bccGetExportFuncs(s->mBccScript, NULL, s->mEnviroment.mInvokeFunctionCount, (BCCvoid **) s->mEnviroment.mInvokeFunctions); } - s->mEnviroment.mFieldAddress = (void **)calloc(100, sizeof(void *)); - bccGetExportVars(s->mBccScript, (BCCsizei *)&s->mEnviroment.mFieldCount, - 100, s->mEnviroment.mFieldAddress); + bccGetExportVars(s->mBccScript, (BCCsizei*) &s->mEnviroment.mFieldCount, 0, NULL); + if(s->mEnviroment.mFieldCount <= 0) + s->mEnviroment.mFieldAddress = NULL; + else { + s->mEnviroment.mFieldAddress = (void **) calloc(s->mEnviroment.mFieldCount, sizeof(void *)); + bccGetExportVars(s->mBccScript, NULL, s->mEnviroment.mFieldCount, (BCCvoid **) s->mEnviroment.mFieldAddress); + } //for (int ct2=0; ct2 < s->mEnviroment.mFieldCount; ct2++ ) { //LOGE("Script field %i = %p", ct2, s->mEnviroment.mFieldAddress[ct2]); //} |