From: <mik...@us...> - 2008-08-20 22:38:35
|
Revision: 875 http://omc.svn.sourceforge.net/omc/?rev=875&view=rev Author: mike-brasher Date: 2008-08-20 22:38:42 +0000 (Wed, 20 Aug 2008) Log Message: ----------- Fixed dangling char* pointer approach (used all over). Modified Paths: -------------- cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/AssociatedSensorProvider.c cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/FanProvider.c cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/HostedCollectionProvider.c cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/IsSpareProvider.c cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/MemberOfCollectionProvider.c cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/NumericSensorProvider.c cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/OwningCollectionElementProvider.c cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/Resource.h cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/SystemDeviceProvider.c cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/HostedCollectionProvider.c cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/IsSpareProvider.c cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/MemberOfCollectionProvider.c cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/OwningCollectionElementProvider.c cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/PowerSupplyProvider.c cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/Resource.h cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/SystemDeviceProvider.c cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/ref/Resource.h cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/ElementCapabilitiesProvider.c cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/HostedAccessPointProvider.c cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/HostedServiceProvider.c cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/ProtocolEndpointProvider.c cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/ProtocolServiceProvider.c cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/ProvidesEndpointProvider.c cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/Resource.h cmpiprofiles/test/trunk/ProfileTest.py Modified: cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/AssociatedSensorProvider.c =================================================================== --- cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/AssociatedSensorProvider.c 2008-08-20 22:24:28 UTC (rev 874) +++ cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/AssociatedSensorProvider.c 2008-08-20 22:38:42 UTC (rev 875) @@ -37,6 +37,7 @@ struct FanInfo* data; size_t size; size_t i; + Str256 s; /* Get fan resource data */ @@ -53,15 +54,15 @@ /* AssociatedSensor.Antecedent */ NumericSensorRef_Init(&a, _cb, ns); - NumericSensorRef_Set_SystemCreationClassName(&a, SysClassName().str); - NumericSensorRef_Set_SystemName(&a, SysName().str); + NumericSensorRef_Set_SystemCreationClassName(&a, SysClassName(&s)); + NumericSensorRef_Set_SystemName(&a, SysName(&s)); NumericSensorRef_Set_CreationClassName(&a, "Linux_FanNumericSensor"); NumericSensorRef_Set_DeviceID(&a, data[i].deviceID); /* AssociatedSensor.Dependent */ FanRef_Init(&d, _cb, ns); - FanRef_Set_SystemCreationClassName(&d, SysClassName().str); - FanRef_Set_SystemName(&d, SysName().str); + FanRef_Set_SystemCreationClassName(&d, SysClassName(&s)); + FanRef_Set_SystemName(&d, SysName(&s)); FanRef_Set_CreationClassName(&d, "Linux_Fan"); FanRef_Set_DeviceID(&d, data[i].deviceID); Modified: cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/FanProvider.c =================================================================== --- cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/FanProvider.c 2008-08-20 22:24:28 UTC (rev 874) +++ cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/FanProvider.c 2008-08-20 22:38:42 UTC (rev 875) @@ -37,6 +37,7 @@ struct FanInfo* data; size_t size; size_t i; + Str256 s; /* Get fan resource data */ @@ -52,10 +53,10 @@ Fan_Init(&x, _cb, ns); /* Fan.SystemCreationClassName (mandatory) */ - Fan_Set_SystemCreationClassName(&x, SysClassName().str); + Fan_Set_SystemCreationClassName(&x, SysClassName(&s)); /* Fan.SystemName (mandatory) */ - Fan_Set_SystemName(&x, SysName().str); + Fan_Set_SystemName(&x, SysName(&s)); /* Fan.CreationClassName (mandatory) */ Fan_Set_CreationClassName(&x, "Linux_Fan"); Modified: cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/HostedCollectionProvider.c =================================================================== --- cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/HostedCollectionProvider.c 2008-08-20 22:24:28 UTC (rev 874) +++ cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/HostedCollectionProvider.c 2008-08-20 22:38:42 UTC (rev 875) @@ -37,6 +37,7 @@ struct RedundancyInfo* data; size_t size; size_t i; + Str256 s; /* Get redundancy resource data */ if (GetRedundancyInfo(&data, &size) != 0) @@ -56,7 +57,7 @@ /* HostedCollection.Antecedent */ ComputerSystemRef_Init(&a, _cb, ns); ComputerSystemRef_Set_CreationClassName(&a, "Linux_ComputerSystem"); - ComputerSystemRef_Set_Name(&a, SysName().str); + ComputerSystemRef_Set_Name(&a, SysName(&s)); /* HostedCollection.Dependent */ RedundancySetRef_Init(&d, _cb, ns); Modified: cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/IsSpareProvider.c =================================================================== --- cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/IsSpareProvider.c 2008-08-20 22:24:28 UTC (rev 874) +++ cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/IsSpareProvider.c 2008-08-20 22:38:42 UTC (rev 875) @@ -37,6 +37,7 @@ struct RedundancyInfo* data; size_t size; size_t i; + Str256 s; /* Get redundancy resource data */ if (GetRedundancyInfo(&data, &size) != 0) @@ -54,8 +55,8 @@ /* Linux_FanIsSpare.Antecedent */ FanRef_Init(&a, _cb, ns); - FanRef_Set_SystemCreationClassName(&a, SysClassName().str); - FanRef_Set_SystemName(&a, SysName().str); + FanRef_Set_SystemCreationClassName(&a, SysClassName(&s)); + FanRef_Set_SystemName(&a, SysName(&s)); FanRef_Set_CreationClassName(&a, "Linux_Fan"); FanRef_Set_DeviceID(&a, data[i].deviceID); Modified: cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/MemberOfCollectionProvider.c =================================================================== --- cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/MemberOfCollectionProvider.c 2008-08-20 22:24:28 UTC (rev 874) +++ cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/MemberOfCollectionProvider.c 2008-08-20 22:38:42 UTC (rev 875) @@ -37,6 +37,7 @@ struct RedundancyInfo* data; size_t size; size_t i; + Str256 s; /* Get redundancy resource data */ if (GetRedundancyInfo(&data, &size) != 0) @@ -51,8 +52,8 @@ /* Linux_FanIsSpare.Antecedent */ FanRef_Init(&m, _cb, ns); - FanRef_Set_SystemCreationClassName(&m, SysClassName().str); - FanRef_Set_SystemName(&m, SysName().str); + FanRef_Set_SystemCreationClassName(&m, SysClassName(&s)); + FanRef_Set_SystemName(&m, SysName(&s)); FanRef_Set_CreationClassName(&m, "Linux_Fan"); FanRef_Set_DeviceID(&m, data[i].deviceID); Modified: cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/NumericSensorProvider.c =================================================================== --- cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/NumericSensorProvider.c 2008-08-20 22:24:28 UTC (rev 874) +++ cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/NumericSensorProvider.c 2008-08-20 22:38:42 UTC (rev 875) @@ -37,6 +37,7 @@ struct FanInfo* data; size_t size; size_t i; + Str256 s; /* Get fan resource data */ @@ -52,10 +53,10 @@ NumericSensor_Init(&x, _cb, ns); /* NumericSensor.SystemCreationClassName (mandatory) */ - NumericSensor_Set_SystemCreationClassName(&x, SysClassName().str); + NumericSensor_Set_SystemCreationClassName(&x, SysClassName(&s)); /* NumericSensor.SystemName (mandatory) */ - NumericSensor_Set_SystemName(&x, SysName().str); + NumericSensor_Set_SystemName(&x, SysName(&s)); /* NumericSensor.CreationClassName (mandatory) */ NumericSensor_Set_CreationClassName(&x, "Linux_FanNumericSensor"); Modified: cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/OwningCollectionElementProvider.c =================================================================== --- cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/OwningCollectionElementProvider.c 2008-08-20 22:24:28 UTC (rev 874) +++ cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/OwningCollectionElementProvider.c 2008-08-20 22:38:42 UTC (rev 875) @@ -37,6 +37,7 @@ struct RedundancyInfo* data; size_t size; size_t i; + Str256 s; /* Get redundancy resource data */ if (GetRedundancyInfo(&data, &size) != 0) @@ -56,7 +57,7 @@ /* OwningCollectionElement.Antecedent */ ComputerSystemRef_Init(&cs, _cb, ns); ComputerSystemRef_Set_CreationClassName(&cs, "Linux_ComputerSystem"); - ComputerSystemRef_Set_Name(&cs, SysName().str); + ComputerSystemRef_Set_Name(&cs, SysName(&s)); /* OwningCollectionElement.Dependent */ RedundancySetRef_Init(&rs, _cb, ns); Modified: cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/Resource.h =================================================================== --- cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/Resource.h 2008-08-20 22:24:28 UTC (rev 874) +++ cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/Resource.h 2008-08-20 22:38:42 UTC (rev 875) @@ -15,30 +15,32 @@ #define INTEROP_NAMESPACE "root/interop" typedef struct _Str256 -{ +{ char buf[256]; - const char* str; } Str256; -static __inline__ Str256 SysName() +KINLINE char* SysName(Str256* s) { - Str256 s; - s.str = s.buf; - s.buf[0] = '\0'; - cmpiutilGetComputerSystemName(s.buf, 256); - return s; -} - -static __inline__ Str256 SysClassName() + s->buf[0] = '\0'; + cmpiutilGetComputerSystemName(s->buf, sizeof(s->buf)-1); + return s->buf; +} + +KINLINE char* SysClassName(Str256* s) { - Str256 s; - s.str = s.buf; - s.buf[0] = '\0'; - strncat(s.buf, cmpiutilGetComputerSystemClassName(), sizeof(s.buf)-1); - return s; + s->buf[0] = '\0'; + strncat(s->buf, cmpiutilGetComputerSystemClassName(), sizeof(s->buf)-1); + return s->buf; } +KINLINE char* SysCreationClassName(Str256* s) +{ + s->buf[0] = '\0'; + strncat(s->buf, "Linux_ComputerSystem", sizeof(s->buf)-1); + return s->buf; +} + struct FanInfo { char deviceID[64]; Modified: cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/SystemDeviceProvider.c =================================================================== --- cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/SystemDeviceProvider.c 2008-08-20 22:24:28 UTC (rev 874) +++ cmpiprofiles/sblim-cmpi-fan_profile/trunk/src/SystemDeviceProvider.c 2008-08-20 22:38:42 UTC (rev 875) @@ -35,10 +35,11 @@ const char** properties) { ComputerSystemRef gc; /* GroupComponent */ + Str256 s; ComputerSystemRef_Init(&gc, _cb, KNameSpace(cop)); ComputerSystemRef_Set_CreationClassName(&gc, "Linux_ComputerSystem"); - ComputerSystemRef_Set_Name(&gc, SysName().str); + ComputerSystemRef_Set_Name(&gc, SysName(&s)); /* Associate Linux_ComputerSystem with every Linux_Fan via * Linux_FanSystemDevice association. Modified: cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/HostedCollectionProvider.c =================================================================== --- cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/HostedCollectionProvider.c 2008-08-20 22:24:28 UTC (rev 874) +++ cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/HostedCollectionProvider.c 2008-08-20 22:38:42 UTC (rev 875) @@ -38,6 +38,7 @@ struct RedundancyInfo* data; size_t size; size_t i; + Str256 s; /* Get redundancy resource data */ if (GetRedundancyInfo(&data, &size) != 0) @@ -57,7 +58,7 @@ /* HostedCollection.Antecedent */ ComputerSystemRef_Init(&a, _cb, ns); ComputerSystemRef_Set_CreationClassName(&a, "Linux_ComputerSystem"); - ComputerSystemRef_Set_Name(&a, SysName().str); + ComputerSystemRef_Set_Name(&a, SysName(&s)); /* HostedCollection.Dependent */ RedundancySetRef_Init(&d, _cb, ns); Modified: cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/IsSpareProvider.c =================================================================== --- cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/IsSpareProvider.c 2008-08-20 22:24:28 UTC (rev 874) +++ cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/IsSpareProvider.c 2008-08-20 22:38:42 UTC (rev 875) @@ -48,14 +48,15 @@ IsSpare x; PowerSupplyRef a; /* Antecedent */ RedundancySetRef d; /* Dependent */ + Str256 s; if (!data[i].isSpare) continue; /* Linux_PowerSupplyIsSpare.Antecedent */ PowerSupplyRef_Init(&a, _cb, ns); - PowerSupplyRef_Set_SystemCreationClassName(&a, SysClassName().str); - PowerSupplyRef_Set_SystemName(&a, SysName().str); + PowerSupplyRef_Set_SystemCreationClassName(&a, SysClassName(&s)); + PowerSupplyRef_Set_SystemName(&a, SysName(&s)); PowerSupplyRef_Set_CreationClassName(&a, "Linux_PowerSupply"); PowerSupplyRef_Set_DeviceID(&a, data[i].deviceID); Modified: cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/MemberOfCollectionProvider.c =================================================================== --- cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/MemberOfCollectionProvider.c 2008-08-20 22:24:28 UTC (rev 874) +++ cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/MemberOfCollectionProvider.c 2008-08-20 22:38:42 UTC (rev 875) @@ -48,11 +48,12 @@ MemberOfCollection x; PowerSupplyRef m; /* Member */ RedundancySetRef c; /* Collection */ + Str256 s; /* Linux_PowerSupplyIsSpare.Antecedent */ PowerSupplyRef_Init(&m, _cb, ns); - PowerSupplyRef_Set_SystemCreationClassName(&m, SysClassName().str); - PowerSupplyRef_Set_SystemName(&m, SysName().str); + PowerSupplyRef_Set_SystemCreationClassName(&m, SysClassName(&s)); + PowerSupplyRef_Set_SystemName(&m, SysName(&s)); PowerSupplyRef_Set_CreationClassName(&m, "Linux_PowerSupply"); PowerSupplyRef_Set_DeviceID(&m, data[i].deviceID); Modified: cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/OwningCollectionElementProvider.c =================================================================== --- cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/OwningCollectionElementProvider.c 2008-08-20 22:24:28 UTC (rev 874) +++ cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/OwningCollectionElementProvider.c 2008-08-20 22:38:42 UTC (rev 875) @@ -48,6 +48,7 @@ OwningCollectionElement x; ComputerSystemRef cs; RedundancySetRef rs; + Str256 s; /* Skip if this redundancy element has same id as last */ if (i && strcmp(data[i].instanceID, data[i-1].instanceID) == 0) @@ -56,7 +57,7 @@ /* OwningCollectionElement.Antecedent */ ComputerSystemRef_Init(&cs, _cb, ns); ComputerSystemRef_Set_CreationClassName(&cs, "Linux_ComputerSystem"); - ComputerSystemRef_Set_Name(&cs, SysName().str); + ComputerSystemRef_Set_Name(&cs, SysName(&s)); /* OwningCollectionElement.Dependent */ RedundancySetRef_Init(&rs, _cb, ns); Modified: cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/PowerSupplyProvider.c =================================================================== --- cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/PowerSupplyProvider.c 2008-08-20 22:24:28 UTC (rev 874) +++ cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/PowerSupplyProvider.c 2008-08-20 22:38:42 UTC (rev 875) @@ -48,14 +48,15 @@ for (i = 0; i < size; i++) { PowerSupply x; + Str256 s; PowerSupply_Init(&x, _cb, ns); /* PowerSupply.SystemCreationClassName (mandatory) */ - PowerSupply_Set_SystemCreationClassName(&x, SysClassName().str); + PowerSupply_Set_SystemCreationClassName(&x, SysClassName(&s)); /* PowerSupply.SystemName (mandatory) */ - PowerSupply_Set_SystemName(&x, SysName().str); + PowerSupply_Set_SystemName(&x, SysName(&s)); /* PowerSupply.CreationClassName (mandatory) */ PowerSupply_Set_CreationClassName(&x, "Linux_PowerSupply"); Modified: cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/Resource.h =================================================================== --- cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/Resource.h 2008-08-20 22:24:28 UTC (rev 874) +++ cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/Resource.h 2008-08-20 22:38:42 UTC (rev 875) @@ -19,48 +19,39 @@ typedef struct _Str256 { char buf[256]; - const char* str; } Str256; -KINLINE Str256 SysName() +KINLINE char* SysName(Str256* s) { - Str256 s; - s.str = s.buf; - s.buf[0] = '\0'; - cmpiutilGetComputerSystemName(s.buf, 256); - return s; + s->buf[0] = '\0'; + cmpiutilGetComputerSystemName(s->buf, sizeof(s->buf)-1); + return s->buf; } -KINLINE Str256 SysClassName() +KINLINE char* SysClassName(Str256* s) { - Str256 s; - s.str = s.buf; - s.buf[0] = '\0'; - strncat(s.buf, cmpiutilGetComputerSystemClassName(), sizeof(s.buf)-1); - return s; + s->buf[0] = '\0'; + strncat(s->buf, cmpiutilGetComputerSystemClassName(), sizeof(s->buf)-1); + return s->buf; } -KINLINE Str256 SysCreationClassName() +KINLINE char* SysCreationClassName(Str256* s) { - Str256 s; - s.str = s.buf; - s.buf[0] = '\0'; - strncat(s.buf, "Linux_ComputerSystem", sizeof(s.buf)-1); - return s; + s->buf[0] = '\0'; + strncat(s->buf, "Linux_ComputerSystem", sizeof(s->buf)-1); + return s->buf; } -KINLINE Str256 Sprintf(const char* format, ...) +KINLINE char* Sprintf(Str256* s, const char* format, ...) { va_list ap; - Str256 s; - s.str = s.buf; va_start(ap, format); - vsprintf(s.buf, format, ap); + vsprintf(s->buf, format, ap); va_end(ap); - return s; + return s->buf; } struct PowerSupplyInfo Modified: cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/SystemDeviceProvider.c =================================================================== --- cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/SystemDeviceProvider.c 2008-08-20 22:24:28 UTC (rev 874) +++ cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/SystemDeviceProvider.c 2008-08-20 22:38:42 UTC (rev 875) @@ -34,10 +34,11 @@ const char** properties) { ComputerSystemRef gc; /* GroupComponent */ + Str256 s; ComputerSystemRef_Init(&gc, _cb, KNameSpace(cop)); ComputerSystemRef_Set_CreationClassName(&gc, "Linux_ComputerSystem"); - ComputerSystemRef_Set_Name(&gc, SysName().str); + ComputerSystemRef_Set_Name(&gc, SysName(&s)); /* Associate Linux_ComputerSystem with every Linux_Fan via * Linux_FanSystemDevice association. Modified: cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/ref/Resource.h =================================================================== --- cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/ref/Resource.h 2008-08-20 22:24:28 UTC (rev 874) +++ cmpiprofiles/sblim-cmpi-power_supply_profile/trunk/src/ref/Resource.h 2008-08-20 22:38:42 UTC (rev 875) @@ -15,48 +15,39 @@ typedef struct _Str256 { char buf[256]; - const char* str; } Str256; -KINLINE Str256 SysName() +KINLINE char* SysName(Str256* s) { - Str256 s; - s.str = s.buf; - s.buf[0] = '\0'; - cmpiutilGetComputerSystemName(s.buf, 256); - return s; + s->buf[0] = '\0'; + cmpiutilGetComputerSystemName(s->buf, sizeof(s->buf)-1); + return s->buf; } -KINLINE Str256 SysClassName() +KINLINE char* SysClassName(Str256* s) { - Str256 s; - s.str = s.buf; - s.buf[0] = '\0'; - strncat(s.buf, cmpiutilGetComputerSystemClassName(), sizeof(s.buf)-1); - return s; + s->buf[0] = '\0'; + strncat(s->buf, cmpiutilGetComputerSystemClassName(), sizeof(s->buf)-1); + return s->buf; } -KINLINE Str256 SysCreationClassName() +KINLINE char* SysCreationClassName(Str256* s) { - Str256 s; - s.str = s.buf; - s.buf[0] = '\0'; - strncat(s.buf, "Linux_ComputerSystem", sizeof(s.buf)-1); - return s; + s->buf[0] = '\0'; + strncat(s->buf, "Linux_ComputerSystem", sizeof(s->buf)-1); + return s->buf; } -KINLINE Str256 Sprintf(const char* format, ...) +KINLINE char* Sprintf(Str256* s, const char* format, ...) { va_list ap; - Str256 s; - s.str = s.buf; va_start(ap, format); - vsprintf(s.buf, format, ap); + vsprintf(s->buf, format, ap); va_end(ap); - return s; + return s->buf; } #define MAX_GRUB_MENU_ITEMS 32 Modified: cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/ElementCapabilitiesProvider.c =================================================================== --- cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/ElementCapabilitiesProvider.c 2008-08-20 22:24:28 UTC (rev 874) +++ cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/ElementCapabilitiesProvider.c 2008-08-20 22:38:42 UTC (rev 875) @@ -37,12 +37,13 @@ ProtocolServiceRef m; /* ManagedElement */ CapabilitiesRef c; /* Capabilities */ ElementCapabilities x; + Str256 s; /* Create ElementCapabilities.ManagedElement */ ProtocolServiceRef_Init(&m, _cb, ns); - ProtocolServiceRef_Set_SystemCreationClassName(&m, SysClassName().str); + ProtocolServiceRef_Set_SystemCreationClassName(&m, SysClassName(&s)); ProtocolServiceRef_Set_CreationClassName(&m, "Linux_SSHProtocolService"); - ProtocolServiceRef_Set_SystemName(&m, SysName().str); + ProtocolServiceRef_Set_SystemName(&m, SysName(&s)); ProtocolServiceRef_Set_Name(&m, "SBLIM:Linux_SSHProtocolService"); /* Create ElementCapabilities.Capabilities */ Modified: cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/HostedAccessPointProvider.c =================================================================== --- cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/HostedAccessPointProvider.c 2008-08-20 22:24:28 UTC (rev 874) +++ cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/HostedAccessPointProvider.c 2008-08-20 22:38:42 UTC (rev 875) @@ -34,10 +34,11 @@ const char** properties) { ComputerSystemRef a; /* Antecedent */ + Str256 s; ComputerSystemRef_Init(&a, _cb, KNameSpace(cop)); ComputerSystemRef_Set_CreationClassName(&a, "Linux_ComputerSystem"); - ComputerSystemRef_Set_Name(&a, SysName().str); + ComputerSystemRef_Set_Name(&a, SysName(&s)); return KDefaultEnumerateInstancesOneToAll( _cb, Modified: cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/HostedServiceProvider.c =================================================================== --- cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/HostedServiceProvider.c 2008-08-20 22:24:28 UTC (rev 874) +++ cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/HostedServiceProvider.c 2008-08-20 22:38:42 UTC (rev 875) @@ -35,10 +35,11 @@ const char** properties) { ComputerSystemRef a; /* Antecedent */ + Str256 s; ComputerSystemRef_Init(&a, _cb, KNameSpace(cop)); ComputerSystemRef_Set_CreationClassName(&a, "Linux_ComputerSystem"); - ComputerSystemRef_Set_Name(&a, SysName().str); + ComputerSystemRef_Set_Name(&a, SysName(&s)); return KDefaultEnumerateInstancesOneToAll( _cb, Modified: cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/ProtocolEndpointProvider.c =================================================================== --- cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/ProtocolEndpointProvider.c 2008-08-20 22:24:28 UTC (rev 874) +++ cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/ProtocolEndpointProvider.c 2008-08-20 22:38:42 UTC (rev 875) @@ -26,12 +26,10 @@ _cb, mi, cc, cr, cop); } -static Str256 _NameOf(struct SSHSession* sess) +static char* _NameOf(Str256* s, struct SSHSession* sess) { - Str256 s; - s.str = s.buf; - sprintf(s.buf, "SBLIM:Linux_SSHProtocolEndpoint:%u", sess->localPort); - return s; + sprintf(s->buf, "SBLIM:Linux_SSHProtocolEndpoint:%u", sess->localPort); + return s->buf; } static CMPIStatus ProtocolEndpointEnumInstances( @@ -57,6 +55,7 @@ { ProtocolEndpoint x; struct SSHDConfig conf; + Str256 s; if (GetSSHDConfig(&conf) != 0) KReturn2(_cb, ERR_FAILED, "failed to access sshd_config"); @@ -64,16 +63,16 @@ ProtocolEndpoint_Init(&x, _cb, ns); /* Linux_SSHProtocolEndpoint.SystemCreationClassName */ - ProtocolEndpoint_Set_SystemCreationClassName(&x, SysClassName().str); + ProtocolEndpoint_Set_SystemCreationClassName(&x, SysClassName(&s)); /* Linux_SSHProtocolEndpoint.CreationClassName */ ProtocolEndpoint_Set_CreationClassName(&x, "Linux_SSHProtocolEndpoint"); /* Linux_SSHProtocolEndpoint.SystemName */ - ProtocolEndpoint_Set_SystemName(&x, SysName().str); + ProtocolEndpoint_Set_SystemName(&x, SysName(&s)); /* Linux_SSHProtocolEndpoint.Name */ - ProtocolEndpoint_Set_Name(&x, _NameOf(&sess[i]).str); + ProtocolEndpoint_Set_Name(&x, _NameOf(&s, &sess[i])); /* Linux_SSHProtocolEndpoint.NameFormat */ ProtocolEndpoint_Set_NameFormat(&x, Modified: cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/ProtocolServiceProvider.c =================================================================== --- cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/ProtocolServiceProvider.c 2008-08-20 22:24:28 UTC (rev 874) +++ cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/ProtocolServiceProvider.c 2008-08-20 22:38:42 UTC (rev 875) @@ -37,6 +37,7 @@ { ProtocolService x; int sshd_status; + Str256 s; /* Get status of sshd */ sshd_status = GetSSHDStatus(); @@ -44,13 +45,13 @@ ProtocolService_Init(&x, _cb, KNameSpace(cop)); /* SystemCreationClassName */ - ProtocolService_Set_SystemCreationClassName(&x, SysClassName().str); + ProtocolService_Set_SystemCreationClassName(&x, SysClassName(&s)); /* CreationClassName */ ProtocolService_Set_CreationClassName(&x, "Linux_SSHProtocolService"); /* SystemName */ - ProtocolService_Set_SystemName(&x, SysName().str); + ProtocolService_Set_SystemName(&x, SysName(&s)); /* Name */ ProtocolService_Set_Name(&x, "SBLIM:Linux_SSHProtocolService"); Modified: cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/ProvidesEndpointProvider.c =================================================================== --- cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/ProvidesEndpointProvider.c 2008-08-20 22:24:28 UTC (rev 874) +++ cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/ProvidesEndpointProvider.c 2008-08-20 22:38:42 UTC (rev 875) @@ -35,12 +35,13 @@ { const char* ns = KNameSpace(cop); ProtocolServiceRef a; /* Antecedent */ + Str256 s; /* Linux_SSHProtocolService.Antecedent */ ProtocolServiceRef_Init(&a, _cb, ns); - ProtocolServiceRef_Set_SystemCreationClassName(&a, SysClassName().str); + ProtocolServiceRef_Set_SystemCreationClassName(&a, SysClassName(&s)); ProtocolServiceRef_Set_CreationClassName(&a, "Linux_SSHProtocolService"); - ProtocolServiceRef_Set_SystemName(&a, SysName().str); + ProtocolServiceRef_Set_SystemName(&a, SysName(&s)); ProtocolServiceRef_Set_Name(&a, "SBLIM:Linux_SSHProtocolService"); /* Associate with every instance of Linux_SSHProtocolEndpoint */ Modified: cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/Resource.h =================================================================== --- cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/Resource.h 2008-08-20 22:24:28 UTC (rev 874) +++ cmpiprofiles/sblim-cmpi-ssh_service_profile/trunk/src/Resource.h 2008-08-20 22:38:42 UTC (rev 875) @@ -57,26 +57,28 @@ typedef struct _Str256 { char buf[256]; - const char* str; } Str256; -static __inline__ Str256 SysName() +KINLINE char* SysName(Str256* s) { - Str256 s; - s.str = s.buf; - s.buf[0] = '\0'; - cmpiutilGetComputerSystemName(s.buf, 256); - return s; + s->buf[0] = '\0'; + cmpiutilGetComputerSystemName(s->buf, sizeof(s->buf)-1); + return s->buf; } -static __inline__ Str256 SysClassName() +KINLINE char* SysClassName(Str256* s) { - Str256 s; - s.str = s.buf; - s.buf[0] = '\0'; - strncat(s.buf, cmpiutilGetComputerSystemClassName(), sizeof(s.buf)-1); - return s; + s->buf[0] = '\0'; + strncat(s->buf, cmpiutilGetComputerSystemClassName(), sizeof(s->buf)-1); + return s->buf; } +KINLINE char* SysCreationClassName(Str256* s) +{ + s->buf[0] = '\0'; + strncat(s->buf, "Linux_ComputerSystem", sizeof(s->buf)-1); + return s->buf; +} + #endif /* _Resource_h */ Modified: cmpiprofiles/test/trunk/ProfileTest.py =================================================================== --- cmpiprofiles/test/trunk/ProfileTest.py 2008-08-20 22:24:28 UTC (rev 874) +++ cmpiprofiles/test/trunk/ProfileTest.py 2008-08-20 22:38:42 UTC (rev 875) @@ -63,6 +63,11 @@ print "no instances of the central class found: %s" %(centralClassName) sys.exit(1) + ## + ## Remove this! + ## + # instances = c.EnumerateInstanceNames("Linux_BootOrderedComponent"); + # For each instance of central class be sure there is exactly one # RegisteredProfile instance (associated through ElementConformsToProfile). This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |