From e3125f9b2ca9d71d47dc6fa101f2529c82ab2227 Mon Sep 17 00:00:00 2001 From: Xavier Ducrohet Date: Wed, 15 Sep 2010 20:19:43 -0700 Subject: [PATCH] Fix var path name generation. The hashcode can be a negative int. Convert it to an always positive long and convert to hexadecimal. Change-Id: Ia655dd92ef1986834680cb942ac004eb7374916f --- .../src/com/android/ide/eclipse/adt/internal/sdk/Sdk.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/Sdk.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/Sdk.java index 4985ab448..61d35c299 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/Sdk.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/Sdk.java @@ -1253,7 +1253,10 @@ public final class Sdk { // - removing all unsupported characters. // - append the hashcode of the original name. This should help reduce collisions. String validName = name.replaceAll("[^0-9a-zA-Z]+", "_"); //$NON-NLS-1$ //$NON-NLS-2$ - return "_android_" + validName + "_" + Integer.toString(name.hashCode()) ; //$NON-NLS-1$ //$NON-NLS-2$ + + //ensure the valid is not negative as - is not a valid char + long hash = (long)name.hashCode() & 0x00000000ffffffffL; + return "_android_" + validName + "_" + Long.toString(hash, 16) ; //$NON-NLS-1$ //$NON-NLS-2$ } /** -- 2.11.0