Changeset 11


Ignore:
Timestamp:
30.07.2010 06:58:44 (10 years ago)
Author:
stefan.ruppert@…
Message:

fixed #3: now metrics other than string32 can be set using last slot number 6, also fixed context_name_count and identity_property_count setting

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arm4sdk/trunk/c/include/arm4sdk.i

    r3 r11  
    513513 
    514514   /* increment the count if a new entry */ 
    515    if( ! subbuffer->header.context_name_array[index] && name) 
    516       subbuffer->header.context_name_count++; 
    517    /* decrement the count if removing an old entry */ 
    518    else if(subbuffer->header.context_name_array[index] && ! name) 
    519       subbuffer->header.context_name_count--; 
    520  
     515   if(index >= subbuffer->header.context_name_count) 
     516      subbuffer->header.context_name_count = index+1; 
    521517   subbuffer->header.context_name_array[index] = name; 
    522518   return 0; 
     
    597593 
    598594   /* increment the count if a new entry */ 
    599    if( ! subbuffer->identity_properties[index].name && name) 
    600       subbuffer->header.identity_property_count++; 
    601    /* decrement the count if removing an old entry */ 
    602    else if(subbuffer->identity_properties[index].name && ! name) 
    603       subbuffer->header.context_name_count--; 
     595   if(index >= subbuffer->header.identity_property_count) 
     596      subbuffer->header.identity_property_count = index + 1; 
    604597 
    605598   subbuffer->identity_properties[index].name  = name; 
     
    676669        arm_boolean_t                          *valid) 
    677670{ 
    678    int  islot = slot; /* linux gcc needs this for a clean "if" compile */ 
    679  
    680    if(subbuffer == NULL) 
    681       return ARM4SDK_ERROR_INVALID_POINTER; 
    682    if(islot > ARM_METRIC_MAX_ARRAY_INDEX || islot < ARM_METRIC_MIN_ARRAY_INDEX) 
     671   if(subbuffer == NULL) 
     672      return ARM4SDK_ERROR_INVALID_POINTER; 
     673   if(slot > ARM_METRIC_MAX_ARRAY_INDEX) 
    683674      return ARM4SDK_ERROR_OUT_OF_RANGE; 
    684675 
     
    716707        arm_metric_format_t                    *format) 
    717708{ 
    718    int  islot = slot; /* linux gcc needs this for a clean "if" compile */ 
    719  
    720709   if(subbuffer == NULL || format == NULL) 
    721710      return ARM4SDK_ERROR_INVALID_POINTER; 
    722    if(islot > ARM_METRIC_MAX_ARRAY_INDEX || islot < ARM_METRIC_MIN_ARRAY_INDEX) 
     711   if(slot > ARM_METRIC_MAX_ARRAY_INDEX) 
    723712      return ARM4SDK_ERROR_OUT_OF_RANGE; 
    724713 
     
    751740        arm_metric_usage_t                     *usage) 
    752741{ 
    753    int  islot = slot; /* linux gcc needs this for a clean "if" compile */ 
    754  
    755742   if(subbuffer == NULL || usage == NULL) 
    756743      return ARM4SDK_ERROR_INVALID_POINTER; 
    757    if(islot > ARM_METRIC_MAX_ARRAY_INDEX || islot < ARM_METRIC_MIN_ARRAY_INDEX) 
     744   if(slot > ARM_METRIC_MAX_ARRAY_INDEX) 
    758745      return ARM4SDK_ERROR_OUT_OF_RANGE; 
    759746 
     
    786773        arm_boolean_t                          *valid) 
    787774{ 
    788    int  islot = slot; /* linux gcc needs this for a clean "if" compile */ 
    789  
    790775   if(subbuffer == NULL || valid == NULL) 
    791776      return ARM4SDK_ERROR_INVALID_POINTER; 
    792    if(islot > ARM_METRIC_MAX_ARRAY_INDEX || islot < ARM_METRIC_MIN_ARRAY_INDEX) 
     777   if(slot > ARM_METRIC_MAX_ARRAY_INDEX) 
    793778      return ARM4SDK_ERROR_OUT_OF_RANGE; 
    794779 
     
    822807        arm_metric_counter32_t                 *value) 
    823808{ 
    824    int  islot = slot; /* linux gcc needs this for a clean "if" compile */ 
    825  
    826809   if(subbuffer == NULL || value == NULL) 
    827810      return ARM4SDK_ERROR_INVALID_POINTER; 
    828    if(islot > ARM_METRIC_MAX_ARRAY_INDEX -1 ||  
    829       islot < ARM_METRIC_MIN_ARRAY_INDEX) 
     811   if(slot > ARM_METRIC_MAX_ARRAY_INDEX) 
    830812      return ARM4SDK_ERROR_OUT_OF_RANGE; 
    831813 
     
    862844        arm_metric_counter64_t                 *value) 
    863845{ 
    864    int  islot = slot; /* linux gcc needs this for a clean "if" compile */ 
    865  
    866846   if(subbuffer == NULL || value == NULL) 
    867847      return ARM4SDK_ERROR_INVALID_POINTER; 
    868    if(islot > ARM_METRIC_MAX_ARRAY_INDEX -1 ||  
    869       islot < ARM_METRIC_MIN_ARRAY_INDEX) 
     848   if(slot > ARM_METRIC_MAX_ARRAY_INDEX) 
    870849      return ARM4SDK_ERROR_OUT_OF_RANGE; 
    871850 
     
    888867        arm_metric_divisor32_t                 *divisor) 
    889868{ 
    890    int  islot = slot; /* linux gcc needs this for a clean "if" compile */ 
    891  
    892869   if(subbuffer == NULL || counter == NULL || divisor == NULL) 
    893870      return ARM4SDK_ERROR_INVALID_POINTER; 
    894    if(islot > ARM_METRIC_MAX_ARRAY_INDEX -1 ||  
    895       islot < ARM_METRIC_MIN_ARRAY_INDEX) 
     871   if(slot > ARM_METRIC_MAX_ARRAY_INDEX) 
    896872      return ARM4SDK_ERROR_OUT_OF_RANGE; 
    897873 
     
    931907        arm_metric_gauge32_t                   *value) 
    932908{ 
    933    int  islot = slot; /* linux gcc needs this for a clean "if" compile */ 
    934  
    935909   if(subbuffer == NULL || value == NULL) 
    936910      return ARM4SDK_ERROR_INVALID_POINTER; 
    937    if(islot > ARM_METRIC_MAX_ARRAY_INDEX -1 ||  
    938       islot < ARM_METRIC_MIN_ARRAY_INDEX) 
     911   if(slot > ARM_METRIC_MAX_ARRAY_INDEX) 
    939912      return ARM4SDK_ERROR_OUT_OF_RANGE; 
    940913 
     
    971944        arm_metric_gauge64_t                   *value) 
    972945{ 
    973    int  islot = slot; /* linux gcc needs this for a clean "if" compile */ 
    974  
    975946   if(subbuffer == NULL || value == NULL) 
    976947      return ARM4SDK_ERROR_INVALID_POINTER; 
    977    if(islot > ARM_METRIC_MAX_ARRAY_INDEX -1 ||  
    978       islot < ARM_METRIC_MIN_ARRAY_INDEX) 
     948   if(slot > ARM_METRIC_MAX_ARRAY_INDEX) 
    979949      return ARM4SDK_ERROR_OUT_OF_RANGE; 
    980950 
     
    1012982        arm_metric_divisor32_t                 *divisor) 
    1013983{ 
    1014    int  islot = slot; /* linux gcc needs this for a clean "if" compile */ 
    1015  
    1016984   if(subbuffer == NULL  || gauge == NULL || divisor == NULL) 
    1017985      return ARM4SDK_ERROR_INVALID_POINTER; 
    1018    if(islot > ARM_METRIC_MAX_ARRAY_INDEX -1 ||  
    1019       islot < ARM_METRIC_MIN_ARRAY_INDEX) 
     986   if(slot > ARM_METRIC_MAX_ARRAY_INDEX) 
    1020987      return ARM4SDK_ERROR_OUT_OF_RANGE; 
    1021988 
     
    10551022        arm_metric_numericID32_t               *value) 
    10561023{ 
    1057    int  islot = slot; /* linux gcc needs this for a clean "if" compile */ 
    1058  
    10591024   if(subbuffer == NULL || value == NULL) 
    10601025      return ARM4SDK_ERROR_INVALID_POINTER; 
    1061    if(islot > ARM_METRIC_MAX_ARRAY_INDEX -1 ||  
    1062       islot < ARM_METRIC_MIN_ARRAY_INDEX) 
     1026   if(slot > ARM_METRIC_MAX_ARRAY_INDEX) 
    10631027      return ARM4SDK_ERROR_OUT_OF_RANGE; 
    10641028 
     
    10951059        arm_metric_numericID64_t               *value) 
    10961060{ 
    1097    int  islot = slot; /* linux gcc needs this for a clean "if" compile */ 
    1098  
    10991061   if(subbuffer == NULL || value == NULL) 
    11001062      return ARM4SDK_ERROR_INVALID_POINTER; 
    1101    if(islot > ARM_METRIC_MAX_ARRAY_INDEX -1 ||  
    1102       islot < ARM_METRIC_MIN_ARRAY_INDEX) 
     1063   if(slot > ARM_METRIC_MAX_ARRAY_INDEX) 
    11031064      return ARM4SDK_ERROR_OUT_OF_RANGE; 
    11041065 
     
    11741135        const arm_metric_counter32_t            value) 
    11751136{ 
    1176    int  islot = slot; /* linux gcc needs this for a clean "if" compile */ 
    1177  
    1178    if(subbuffer == NULL) 
    1179       return ARM4SDK_ERROR_INVALID_POINTER; 
    1180    if(islot > ARM_METRIC_MAX_ARRAY_INDEX -1 ||  
    1181       islot < ARM_METRIC_MIN_ARRAY_INDEX) 
     1137   if(subbuffer == NULL) 
     1138      return ARM4SDK_ERROR_INVALID_POINTER; 
     1139   if(slot > ARM_METRIC_MAX_ARRAY_INDEX) 
    11821140      return ARM4SDK_ERROR_OUT_OF_RANGE; 
    11831141 
     
    12161174        const arm_metric_counter64_t            value) 
    12171175{ 
    1218    int  islot = slot; /* linux gcc needs this for a clean "if" compile */ 
    1219  
    1220    if(subbuffer == NULL) 
    1221       return ARM4SDK_ERROR_INVALID_POINTER; 
    1222    if(islot > ARM_METRIC_MAX_ARRAY_INDEX -1 ||  
    1223       islot < ARM_METRIC_MIN_ARRAY_INDEX) 
     1176   if(subbuffer == NULL) 
     1177      return ARM4SDK_ERROR_INVALID_POINTER; 
     1178   if(slot > ARM_METRIC_MAX_ARRAY_INDEX) 
    12241179      return ARM4SDK_ERROR_OUT_OF_RANGE; 
    12251180 
     
    12591214        const arm_metric_divisor32_t            divisor) 
    12601215{ 
    1261    int  islot = slot; /* linux gcc needs this for a clean "if" compile */ 
    1262  
    1263    if(subbuffer == NULL) 
    1264       return ARM4SDK_ERROR_INVALID_POINTER; 
    1265    if(islot > ARM_METRIC_MAX_ARRAY_INDEX -1 ||  
    1266       islot < ARM_METRIC_MIN_ARRAY_INDEX) 
     1216   if(subbuffer == NULL) 
     1217      return ARM4SDK_ERROR_INVALID_POINTER; 
     1218   if(slot > ARM_METRIC_MAX_ARRAY_INDEX) 
    12671219      return ARM4SDK_ERROR_OUT_OF_RANGE; 
    12681220   if(divisor == 0) 
     
    13041256        const arm_metric_gauge32_t              value) 
    13051257{ 
    1306    int  islot = slot; /* linux gcc needs this for a clean "if" compile */ 
    1307  
    1308    if(subbuffer == NULL) 
    1309       return ARM4SDK_ERROR_INVALID_POINTER; 
    1310    if(islot > ARM_METRIC_MAX_ARRAY_INDEX -1 ||  
    1311       islot < ARM_METRIC_MIN_ARRAY_INDEX) 
     1258   if(subbuffer == NULL) 
     1259      return ARM4SDK_ERROR_INVALID_POINTER; 
     1260   if(slot > ARM_METRIC_MAX_ARRAY_INDEX) 
    13121261      return ARM4SDK_ERROR_OUT_OF_RANGE; 
    13131262 
     
    13461295        const arm_metric_gauge64_t              value) 
    13471296{ 
    1348    int  islot = slot; /* linux gcc needs this for a clean "if" compile */ 
    1349  
    1350    if(subbuffer == NULL) 
    1351       return ARM4SDK_ERROR_INVALID_POINTER; 
    1352    if(islot > ARM_METRIC_MAX_ARRAY_INDEX -1 ||  
    1353       islot < ARM_METRIC_MIN_ARRAY_INDEX) 
     1297   if(subbuffer == NULL) 
     1298      return ARM4SDK_ERROR_INVALID_POINTER; 
     1299   if(slot > ARM_METRIC_MAX_ARRAY_INDEX) 
    13541300      return ARM4SDK_ERROR_OUT_OF_RANGE; 
    13551301 
     
    13881334        const arm_metric_divisor32_t            divisor) 
    13891335{ 
    1390    int  islot = slot; /* linux gcc needs this for a clean "if" compile */ 
    1391  
    1392    if(subbuffer == NULL) 
    1393       return ARM4SDK_ERROR_INVALID_POINTER; 
    1394    if(islot > ARM_METRIC_MAX_ARRAY_INDEX -1 ||  
    1395       islot < ARM_METRIC_MIN_ARRAY_INDEX) 
     1336   if(subbuffer == NULL) 
     1337      return ARM4SDK_ERROR_INVALID_POINTER; 
     1338   if(slot > ARM_METRIC_MAX_ARRAY_INDEX) 
    13961339      return ARM4SDK_ERROR_OUT_OF_RANGE; 
    13971340   if(divisor == 0) 
     
    14321375        const arm_metric_numericID32_t          value) 
    14331376{ 
    1434    int  islot = slot; /* linux gcc needs this for a clean "if" compile */ 
    1435  
    1436    if(subbuffer == NULL) 
    1437       return ARM4SDK_ERROR_INVALID_POINTER; 
    1438    if(islot > ARM_METRIC_MAX_ARRAY_INDEX -1 ||  
    1439       islot < ARM_METRIC_MIN_ARRAY_INDEX) 
     1377   if(subbuffer == NULL) 
     1378      return ARM4SDK_ERROR_INVALID_POINTER; 
     1379   if(slot > ARM_METRIC_MAX_ARRAY_INDEX) 
    14401380      return ARM4SDK_ERROR_OUT_OF_RANGE; 
    14411381 
     
    14731413        const arm_metric_numericID64_t          value) 
    14741414{ 
    1475    int  islot = slot; /* linux gcc needs this for a clean "if" compile */ 
    1476  
    1477    if(subbuffer == NULL) 
    1478       return ARM4SDK_ERROR_INVALID_POINTER; 
    1479    if(islot > ARM_METRIC_MAX_ARRAY_INDEX -1 ||  
    1480       islot < ARM_METRIC_MIN_ARRAY_INDEX) 
     1415   if(subbuffer == NULL) 
     1416      return ARM4SDK_ERROR_INVALID_POINTER; 
     1417   if(slot > ARM_METRIC_MAX_ARRAY_INDEX) 
    14811418      return ARM4SDK_ERROR_OUT_OF_RANGE; 
    14821419 
     
    15551492        const arm_boolean_t                     valid) 
    15561493{ 
    1557    int  islot = slot; /* linux gcc needs this for a clean "if" compile */ 
    1558  
    1559    if(subbuffer == NULL) 
    1560       return ARM4SDK_ERROR_INVALID_POINTER; 
    1561    if(islot > ARM_METRIC_MAX_ARRAY_INDEX ||  
    1562       islot < ARM_METRIC_MIN_ARRAY_INDEX) 
     1494   if(subbuffer == NULL) 
     1495      return ARM4SDK_ERROR_INVALID_POINTER; 
     1496   if(slot > ARM_METRIC_MAX_ARRAY_INDEX) 
    15631497      return ARM4SDK_ERROR_OUT_OF_RANGE; 
    15641498 
     
    15921526        const arm_boolean_t                     valid) 
    15931527{ 
    1594    int  islot = slot; /* linux gcc needs this for a clean "if" compile */ 
    1595  
    1596    if(subbuffer == NULL) 
    1597       return ARM4SDK_ERROR_INVALID_POINTER; 
    1598    if(islot > ARM_METRIC_MAX_ARRAY_INDEX || islot < ARM_METRIC_MIN_ARRAY_INDEX) 
     1528   if(subbuffer == NULL) 
     1529      return ARM4SDK_ERROR_INVALID_POINTER; 
     1530   if(slot > ARM_METRIC_MAX_ARRAY_INDEX) 
    15991531      return ARM4SDK_ERROR_OUT_OF_RANGE; 
    16001532 
     
    16271559        const arm_metric_usage_t                usage) 
    16281560{ 
    1629    int  islot = slot; /* linux gcc needs this for a clean "if" compile */ 
    1630  
    1631    if(subbuffer == NULL) 
    1632       return ARM4SDK_ERROR_INVALID_POINTER; 
    1633    if(islot > ARM_METRIC_MAX_ARRAY_INDEX || islot < ARM_METRIC_MIN_ARRAY_INDEX) 
     1561   if(subbuffer == NULL) 
     1562      return ARM4SDK_ERROR_INVALID_POINTER; 
     1563   if(slot > ARM_METRIC_MAX_ARRAY_INDEX) 
    16341564      return ARM4SDK_ERROR_OUT_OF_RANGE; 
    16351565 
     
    16641594        const arm_id_t                           **id) 
    16651595{ 
    1666    int  islot = slot; /* linux gcc needs this for a clean "if" compile */ 
    1667  
    16681596   if(subbuffer == NULL || id == NULL) 
    16691597      return ARM4SDK_ERROR_INVALID_POINTER; 
    1670    if(islot > ARM_METRIC_MAX_ARRAY_INDEX || islot < ARM_METRIC_MIN_ARRAY_INDEX) 
     1598   if(slot > ARM_METRIC_MAX_ARRAY_INDEX) 
    16711599      return ARM4SDK_ERROR_OUT_OF_RANGE; 
    16721600 
     
    17171645        const arm_id_t                           *id) 
    17181646{ 
    1719    int  islot = slot; /* linux gcc needs this for a clean "if" compile */ 
    1720  
    17211647   if(subbuffer == NULL || id == NULL) 
    17221648      return ARM4SDK_ERROR_INVALID_POINTER; 
    1723    if(islot > ARM_METRIC_MAX_ARRAY_INDEX || islot < ARM_METRIC_MIN_ARRAY_INDEX) 
     1649   if(slot > ARM_METRIC_MAX_ARRAY_INDEX) 
    17241650      return ARM4SDK_ERROR_OUT_OF_RANGE; 
    17251651 
Note: See TracChangeset for help on using the changeset viewer.