OSDN Git Service

am af242824: Revert "Fix a type error in the allocation of non-moving arrays." per...
[android-x86/dalvik.git] / vm / Properties.c
index 91288c2..243dc3e 100644 (file)
@@ -111,8 +111,8 @@ static void setProperty(Object* propObj, Method* put, const char* key,
         value = "";
     }
 
-    keyStr = dvmCreateStringFromCstr(key, ALLOC_DEFAULT);
-    valueStr = dvmCreateStringFromCstr(value, ALLOC_DEFAULT);
+    keyStr = dvmCreateStringFromCstr(key);
+    valueStr = dvmCreateStringFromCstr(value);
     if (keyStr == NULL || valueStr == NULL) {
         LOGW("setProperty string creation failed\n");
         goto bail;
@@ -199,7 +199,7 @@ void dvmCreateDefaultProperties(Object* propObj)
     setProperty(propObj, put, "file.separator", "/");
     setProperty(propObj, put, "line.separator", "\n");
     setProperty(propObj, put, "path.separator", ":");
-    
+
     /*
      * These show up elsewhere, so do them here too.
      */
@@ -246,6 +246,7 @@ void dvmSetCommandLineProperties(Object* propObj)
  */
 char* dvmGetProperty(const char* key)
 {
+    Thread* self = dvmThreadSelf();
     ClassObject* system;
     Method* getProp;
     StringObject* keyObj = NULL;
@@ -265,20 +266,22 @@ char* dvmGetProperty(const char* key)
         goto bail;
     }
 
-    keyObj = dvmCreateStringFromCstr(key, ALLOC_DEFAULT);
+    keyObj = dvmCreateStringFromCstr(key);
     if (keyObj == NULL)
         goto bail;
 
     JValue val;
-    dvmCallMethod(dvmThreadSelf(), getProp, NULL, &val, keyObj);
+    dvmCallMethod(self, getProp, NULL, &val, keyObj);
     valueObj = (StringObject*) val.l;
     if (valueObj == NULL)
         goto bail;
 
+    /* don't need to call dvmAddTrackedAlloc on result; conv to C string safe */
+
     result = dvmCreateCstrFromString(valueObj);
     /* fall through with result */
 
 bail:
-    dvmReleaseTrackedAlloc((Object*)keyObj, NULL);
+    dvmReleaseTrackedAlloc((Object*)keyObj, self);
     return result;
 }