Changeset 22603 in vbox
- Timestamp:
- Aug 31, 2009 1:00:58 PM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 51654
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/ConsoleImpl2.cpp
r22601 r22603 2839 2839 AssertFailedReturn(VERR_INVALID_PARAMETER); 2840 2840 2841 char **pa cszNames, **pacszValues, **pacszFlags;2841 char **papszNames, **papszValues, **papszFlags; 2842 2842 char szEmpty[] = ""; 2843 2843 ULONG64 *pau64Timestamps; 2844 pa cszNames = (char **)RTMemTmpAllocZ(sizeof(void *) * cAlloc);2845 pa cszValues = (char **)RTMemTmpAllocZ(sizeof(void *) * cAlloc);2844 papszNames = (char **)RTMemTmpAllocZ(sizeof(void *) * cAlloc); 2845 papszValues = (char **)RTMemTmpAllocZ(sizeof(void *) * cAlloc); 2846 2846 pau64Timestamps = (ULONG64 *)RTMemTmpAllocZ(sizeof(ULONG64) * cAlloc); 2847 pacszFlags = (char **)RTMemTmpAllocZ(sizeof(void *) * cAlloc); 2848 if (!(pacszNames && pacszValues && pau64Timestamps && pacszFlags)) 2847 papszFlags = (char **)RTMemTmpAllocZ(sizeof(void *) * cAlloc); 2848 if (papszNames && papszValues && pau64Timestamps && papszFlags) 2849 { 2850 for (unsigned i = 0; RT_SUCCESS(rc) && i < cProps; ++i) 2851 { 2852 AssertPtrReturn(namesOut[i], VERR_INVALID_PARAMETER); 2853 rc = RTUtf16ToUtf8(namesOut[i], &papszNames[i]); 2854 if (RT_FAILURE(rc)) 2855 break; 2856 if (valuesOut[i]) 2857 rc = RTUtf16ToUtf8(valuesOut[i], &papszValues[i]); 2858 else 2859 papszValues[i] = szEmpty; 2860 if (RT_FAILURE(rc)) 2861 break; 2862 pau64Timestamps[i] = timestampsOut[i]; 2863 if (flagsOut[i]) 2864 rc = RTUtf16ToUtf8(flagsOut[i], &papszFlags[i]); 2865 else 2866 papszFlags[i] = szEmpty; 2867 } 2868 if (RT_SUCCESS(rc)) 2869 configSetProperties(pConsole->mVMMDev, 2870 (void *)papszNames, 2871 (void *)papszValues, 2872 (void *)pau64Timestamps, 2873 (void *)papszFlags); 2874 for (unsigned i = 0; i < cProps; ++i) 2875 { 2876 RTStrFree(papszNames[i]); 2877 if (valuesOut[i]) 2878 RTStrFree(papszValues[i]); 2879 if (flagsOut[i]) 2880 RTStrFree(papszFlags[i]); 2881 } 2882 } 2883 else 2849 2884 rc = VERR_NO_MEMORY; 2850 for (unsigned i = 0; RT_SUCCESS(rc) && i < cProps; ++i) 2851 { 2852 AssertPtrReturn(namesOut[i], VERR_INVALID_PARAMETER); 2853 rc = RTUtf16ToUtf8(namesOut[i], &pacszNames[i]); 2854 if (RT_FAILURE(rc)) 2855 break; 2856 if (valuesOut[i]) 2857 rc = RTUtf16ToUtf8(valuesOut[i], &pacszValues[i]); 2858 else 2859 pacszValues[i] = szEmpty; 2860 if (RT_FAILURE(rc)) 2861 break; 2862 pau64Timestamps[i] = timestampsOut[i]; 2863 if (flagsOut[i]) 2864 rc = RTUtf16ToUtf8(flagsOut[i], &pacszFlags[i]); 2865 else 2866 pacszFlags[i] = szEmpty; 2867 } 2868 if (RT_SUCCESS(rc)) 2869 configSetProperties(pConsole->mVMMDev, (void *)pacszNames, 2870 (void *)pacszValues, (void *)pau64Timestamps, 2871 (void *)pacszFlags); 2872 if (pacszNames && pacszValues && pau64Timestamps && pacszFlags) 2873 for (unsigned i = 0; i < cProps; ++i) 2874 { 2875 RTStrFree(pacszNames[i]); 2876 if (valuesOut[i]) 2877 RTStrFree(pacszValues[i]); 2878 if (flagsOut[i]) 2879 RTStrFree(pacszFlags[i]); 2880 } 2881 RTMemTmpFree(pacszNames); 2882 RTMemTmpFree(pacszValues); 2885 RTMemTmpFree(papszNames); 2886 RTMemTmpFree(papszValues); 2883 2887 RTMemTmpFree(pau64Timestamps); 2884 RTMemTmpFree(pacszFlags); 2888 RTMemTmpFree(papszFlags); 2889 AssertRCReturn(rc, rc); 2885 2890 2886 2891 /* Set the VBox version string as a guest property */
Note:
See TracChangeset
for help on using the changeset viewer.