diff options
author | Glenn Kasten <gkasten@android.com> | 2013-09-17 14:47:57 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-09-17 14:47:57 -0700 |
commit | fc270954192ef7e15ac2c88daadd8890d22096e3 (patch) | |
tree | faba888ded992d6b43bd46eb3f258b546add0434 /media/libmedia | |
parent | 3c9396002f51da24f9ba8b8dc96ae06bf667ba2c (diff) | |
parent | e56f3c96fa6e7550b67e8b049f999aaa2ada1192 (diff) | |
download | frameworks_av-fc270954192ef7e15ac2c88daadd8890d22096e3.zip frameworks_av-fc270954192ef7e15ac2c88daadd8890d22096e3.tar.gz frameworks_av-fc270954192ef7e15ac2c88daadd8890d22096e3.tar.bz2 |
am e56f3c96: Merge "strtok stores its values in thread local storage. So it can not guarantee works well when multithread environment. AudioFlinger has multithread. so strtok_r is more safe."
* commit 'e56f3c96fa6e7550b67e8b049f999aaa2ada1192':
strtok stores its values in thread local storage. So it can not guarantee works well when multithread environment. AudioFlinger has multithread. so strtok_r is more safe.
Diffstat (limited to 'media/libmedia')
-rw-r--r-- | media/libmedia/AudioParameter.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/media/libmedia/AudioParameter.cpp b/media/libmedia/AudioParameter.cpp index e3fea77..33dbf0b 100644 --- a/media/libmedia/AudioParameter.cpp +++ b/media/libmedia/AudioParameter.cpp @@ -37,9 +37,10 @@ AudioParameter::AudioParameter(const String8& keyValuePairs) { char *str = new char[keyValuePairs.length()+1]; mKeyValuePairs = keyValuePairs; + char *last; strcpy(str, keyValuePairs.string()); - char *pair = strtok(str, ";"); + char *pair = strtok_r(str, ";", &last); while (pair != NULL) { if (strlen(pair) != 0) { size_t eqIdx = strcspn(pair, "="); @@ -58,7 +59,7 @@ AudioParameter::AudioParameter(const String8& keyValuePairs) } else { ALOGV("AudioParameter() cstor empty key value pair"); } - pair = strtok(NULL, ";"); + pair = strtok_r(NULL, ";", &last); } delete[] str; |