)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":28415,"name":"Lin Shuicheng","email":"shuicheng.lin@intel.com","username":"slin14"},"change_message_id":"1a2c43b4e9ad41eeee9b16d0336890d49d59e858","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"replace strncpy by snprintf"},{"line_number":8,"context_line":"  as for strncpy does not guarantee null terminated of dest string,"},{"line_number":9,"context_line":"but snprintf dose."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"so change code from"},{"line_number":12,"context_line":"    strncpy(buffer, source, sizeof buffer);"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3f79a3b5_01744203","line":9,"range":{"start_line":9,"start_character":13,"end_line":9,"end_character":18},"updated":"2018-10-23 08:03:35.000000000","message":"does.","commit_id":"f6297db28f601bffb9713feff9ef85d212d1bb47"}],"fm-common/sources/fmDbAlarm.cpp":[{"author":{"_account_id":28468,"name":"Tao Liu","email":"tao.liu@windriver.com","username":"tliu88"},"change_message_id":"94a31d697f21678c898ead3c8e6ecad7ee43c53e","unresolved":false,"context_lines":[{"line_number":305,"context_line":"\tchar query[FM_MAX_SQL_STATEMENT_MAX];"},{"line_number":306,"context_line":"\tstd::string sql;"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"\tstrncpy(alm_id, id ,sizeof(alm_id)-1);"},{"line_number":309,"context_line":"    alm_id[sizeof(alm_id) -1] \u003d \u0027\\0\u0027;"},{"line_number":310,"context_line":"\tsnprintf(query, sizeof(query),\"%s \u003d \u0027%s\u0027\", FM_ALARM_COLUMN_ALARM_ID, id);"},{"line_number":311,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":3,"id":"3f79a3b5_0a6b08f0","line":308,"range":{"start_line":308,"start_character":0,"end_line":308,"end_character":1},"updated":"2018-10-22 19:00:43.000000000","message":"Why no replace strncpy with STRCP_TO?","commit_id":"f6297db28f601bffb9713feff9ef85d212d1bb47"},{"author":{"_account_id":28468,"name":"Tao Liu","email":"tao.liu@windriver.com","username":"tliu88"},"change_message_id":"94a31d697f21678c898ead3c8e6ecad7ee43c53e","unresolved":false,"context_lines":[{"line_number":306,"context_line":"\tstd::string sql;"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"\tstrncpy(alm_id, id ,sizeof(alm_id)-1);"},{"line_number":309,"context_line":"    alm_id[sizeof(alm_id) -1] \u003d \u0027\\0\u0027;"},{"line_number":310,"context_line":"\tsnprintf(query, sizeof(query),\"%s \u003d \u0027%s\u0027\", FM_ALARM_COLUMN_ALARM_ID, id);"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"\tfm_db_util_build_sql_query((const char*)FM_ALARM_TABLE_NAME, query, sql);"}],"source_content_type":"text/x-c++src","patch_set":3,"id":"3f79a3b5_dd1cf867","line":309,"updated":"2018-10-22 19:00:43.000000000","message":"Can you change indentation?","commit_id":"f6297db28f601bffb9713feff9ef85d212d1bb47"},{"author":{"_account_id":28682,"name":"Ran An","email":"ran1.an@intel.com","username":"SidneyAn"},"change_message_id":"77cff45037de504326b9d1809c4320414b24f8ca","unresolved":false,"context_lines":[{"line_number":306,"context_line":"\tstd::string sql;"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"\tstrncpy(alm_id, id ,sizeof(alm_id)-1);"},{"line_number":309,"context_line":"    alm_id[sizeof(alm_id) -1] \u003d \u0027\\0\u0027;"},{"line_number":310,"context_line":"\tsnprintf(query, sizeof(query),\"%s \u003d \u0027%s\u0027\", FM_ALARM_COLUMN_ALARM_ID, id);"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"\tfm_db_util_build_sql_query((const char*)FM_ALARM_TABLE_NAME, query, sql);"}],"source_content_type":"text/x-c++src","patch_set":3,"id":"3f79a3b5_8622a801","line":309,"in_reply_to":"3f79a3b5_dd1cf867","updated":"2018-10-24 08:15:08.000000000","message":"ok","commit_id":"f6297db28f601bffb9713feff9ef85d212d1bb47"},{"author":{"_account_id":28465,"name":"Dariush Eslimi","email":"Dariush.Eslimi@windriver.com","username":"deslimi"},"change_message_id":"f9f69860f1c67ea4d8c83f2503b92380ff7c00c6","unresolved":false,"context_lines":[{"line_number":23,"context_line":"static stoi_t db_alarm_field_str_to_ix;"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"static const char * field_map[] \u003d {"},{"line_number":26,"context_line":"    FM_ALARM_COLUMN_CREATED_AT, //0"},{"line_number":27,"context_line":"    FM_ALARM_COLUMN_UPDATED_AT,"},{"line_number":28,"context_line":"    FM_ALARM_COLUMN_DELETED_AT,"},{"line_number":29,"context_line":"    FM_ALARM_COLUMN_ID,"},{"line_number":30,"context_line":"    FM_ALARM_COLUMN_UUID,"},{"line_number":31,"context_line":"    FM_ALARM_COLUMN_ALARM_ID,"},{"line_number":32,"context_line":"    FM_ALARM_COLUMN_ALARM_STATE,"},{"line_number":33,"context_line":"    FM_ALARM_COLUMN_ENTITY_TYPE_ID,"},{"line_number":34,"context_line":"    FM_ALARM_COLUMN_ENTITY_INSTANCE_ID,"},{"line_number":35,"context_line":"    FM_ALARM_COLUMN_TIMESTAMP,"},{"line_number":36,"context_line":"    FM_ALARM_COLUMN_SEVERITY,"},{"line_number":37,"context_line":"    FM_ALARM_COLUMN_REASON_TEXT,"},{"line_number":38,"context_line":"    FM_ALARM_COLUMN_ALARM_TYPE,"},{"line_number":39,"context_line":"    FM_ALARM_COLUMN_PROBABLE_CAUSE,"},{"line_number":40,"context_line":"    FM_ALARM_COLUMN_PROPOSED_REPAIR_ACTION,"},{"line_number":41,"context_line":"    FM_ALARM_COLUMN_SERVICE_AFFECTING,"},{"line_number":42,"context_line":"    FM_ALARM_COLUMN_SUPPRESSION,"},{"line_number":43,"context_line":"    FM_ALARM_COLUMN_INHIBIT_ALARMS,"},{"line_number":44,"context_line":"    FM_ALARM_COLUMN_MASKED //18"},{"line_number":45,"context_line":"};"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"#define RETRUN_FALSE return false"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"3f79a3b5_ae23bda9","line":44,"range":{"start_line":26,"start_character":0,"end_line":44,"end_character":31},"updated":"2018-10-25 13:16:57.000000000","message":"No change, and you are not following the white-space setting of the original file.","commit_id":"b07b540d7868a1072ff5a89f79d498605099c4db"},{"author":{"_account_id":28465,"name":"Dariush Eslimi","email":"Dariush.Eslimi@windriver.com","username":"deslimi"},"change_message_id":"f9f69860f1c67ea4d8c83f2503b92380ff7c00c6","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    FM_ALARM_COLUMN_MASKED //18"},{"line_number":45,"context_line":"};"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"#define RETRUN_FALSE return false"},{"line_number":48,"context_line":"#define CONTINUE continue"},{"line_number":49,"context_line":"#define STRCP_TO(buffer, source, return_action) \\"},{"line_number":50,"context_line":"do{ \\"},{"line_number":51,"context_line":"    if (snprintf(buffer, sizeof(buffer), \"%s\", source.c_str()) \u003c 0) { \\"},{"line_number":52,"context_line":"        FM_WARNING_LOG(\"STRCP_TO fail because of decode error.\"); \\"},{"line_number":53,"context_line":"        return_action; \\"},{"line_number":54,"context_line":"    } \\"},{"line_number":55,"context_line":"}while(0)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"void add_both_tables(const char *str, int id, itos_t \u0026t1,stoi_t \u0026t2 ) {"},{"line_number":58,"context_line":"\tt1[id]\u003dstr;"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"3f79a3b5_ce9b99c5","line":55,"range":{"start_line":47,"start_character":0,"end_line":55,"end_character":9},"updated":"2018-10-25 13:16:57.000000000","message":"You are introducing a MACRO with same name but with different implementation (with the one in fmAlarmUtils.cpp). Is the intention is to be different? so use different name. I prefer to declare MACROS in header file and share across files, so fixes in implementation applies everywhere.","commit_id":"b07b540d7868a1072ff5a89f79d498605099c4db"},{"author":{"_account_id":28412,"name":"Yi Wang","email":"yi.c.wang@intel.com","username":"wangyi4"},"change_message_id":"345acdbf5d8082b288dc7f34cdec043040851778","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    FM_ALARM_COLUMN_MASKED //18"},{"line_number":45,"context_line":"};"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"#define RETRUN_FALSE return false"},{"line_number":48,"context_line":"#define CONTINUE continue"},{"line_number":49,"context_line":"#define STRCP_TO(buffer, source, return_action) \\"},{"line_number":50,"context_line":"do{ \\"},{"line_number":51,"context_line":"    if (snprintf(buffer, sizeof(buffer), \"%s\", source.c_str()) \u003c 0) { \\"},{"line_number":52,"context_line":"        FM_WARNING_LOG(\"STRCP_TO fail because of decode error.\"); \\"},{"line_number":53,"context_line":"        return_action; \\"},{"line_number":54,"context_line":"    } \\"},{"line_number":55,"context_line":"}while(0)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"void add_both_tables(const char *str, int id, itos_t \u0026t1,stoi_t \u0026t2 ) {"},{"line_number":58,"context_line":"\tt1[id]\u003dstr;"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"3f79a3b5_6a6ebffe","line":55,"range":{"start_line":47,"start_character":0,"end_line":55,"end_character":9},"in_reply_to":"3f79a3b5_866a5615","updated":"2018-10-29 06:53:19.000000000","message":"just curious, do we really need \"do ... while(0)\"","commit_id":"b07b540d7868a1072ff5a89f79d498605099c4db"},{"author":{"_account_id":28682,"name":"Ran An","email":"ran1.an@intel.com","username":"SidneyAn"},"change_message_id":"5f7b08df4804b3a1bfee01437630bb4774335e36","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    FM_ALARM_COLUMN_MASKED //18"},{"line_number":45,"context_line":"};"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"#define RETRUN_FALSE return false"},{"line_number":48,"context_line":"#define CONTINUE continue"},{"line_number":49,"context_line":"#define STRCP_TO(buffer, source, return_action) \\"},{"line_number":50,"context_line":"do{ \\"},{"line_number":51,"context_line":"    if (snprintf(buffer, sizeof(buffer), \"%s\", source.c_str()) \u003c 0) { \\"},{"line_number":52,"context_line":"        FM_WARNING_LOG(\"STRCP_TO fail because of decode error.\"); \\"},{"line_number":53,"context_line":"        return_action; \\"},{"line_number":54,"context_line":"    } \\"},{"line_number":55,"context_line":"}while(0)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"void add_both_tables(const char *str, int id, itos_t \u0026t1,stoi_t \u0026t2 ) {"},{"line_number":58,"context_line":"\tt1[id]\u003dstr;"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"3f79a3b5_866a5615","line":55,"range":{"start_line":47,"start_character":0,"end_line":55,"end_character":9},"in_reply_to":"3f79a3b5_ce9b99c5","updated":"2018-10-26 06:11:09.000000000","message":"yes, they are different and I\u0027ll use a different name.\n\nSTRCP_TO in fmAlarmUtils.cpp has some special process when source is \" \" or \"\". It is no need here.\n\nPS: Could you share your reason why suggest to use different names here? AS it is OK to name MACRO in different source files the same name in syntax. Thanks","commit_id":"b07b540d7868a1072ff5a89f79d498605099c4db"},{"author":{"_account_id":28412,"name":"Yi Wang","email":"yi.c.wang@intel.com","username":"wangyi4"},"change_message_id":"345acdbf5d8082b288dc7f34cdec043040851778","unresolved":false,"context_lines":[{"line_number":306,"context_line":"\tchar query[FM_MAX_SQL_STATEMENT_MAX];"},{"line_number":307,"context_line":"\tstd::string sql;"},{"line_number":308,"context_line":"        STRCP_TO(alm_id, id, RETRUN_FALSE);"},{"line_number":309,"context_line":"\tif(snprintf(query, sizeof(query),\"%s \u003d \u0027%s\u0027\", FM_ALARM_COLUMN_ALARM_ID, id) \u003c 0"},{"line_number":310,"context_line":"            return false;"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"\tfm_db_util_build_sql_query((const char*)FM_ALARM_TABLE_NAME, query, sql);"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"3f79a3b5_aa6857f2","line":309,"updated":"2018-10-29 06:53:19.000000000","message":"missed one \")\" here.","commit_id":"b07b540d7868a1072ff5a89f79d498605099c4db"},{"author":{"_account_id":28465,"name":"Dariush Eslimi","email":"Dariush.Eslimi@windriver.com","username":"deslimi"},"change_message_id":"f9f69860f1c67ea4d8c83f2503b92380ff7c00c6","unresolved":false,"context_lines":[{"line_number":319,"context_line":"}"},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"bool CFmDbAlarmOperation::get_all_alarms(CFmDBSession \u0026sess, SFmAlarmDataT **alarms, size_t *len ) {"},{"line_number":322,"context_line":"    fm_db_result_t res;"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"    *len \u003d 0;"},{"line_number":325,"context_line":"    *alarms \u003d NULL;"},{"line_number":326,"context_line":"    if (!get_alarms(sess, NULL, res))"},{"line_number":327,"context_line":"        return false;"},{"line_number":328,"context_line":""},{"line_number":329,"context_line":"    std::string sname \u003d fm_db_util_get_system_name();"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"    unsigned int found_num_alarms \u003d res.size();"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"    if (found_num_alarms \u003c 1)"},{"line_number":334,"context_line":"        return false;"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"    SFmAlarmDataT *p \u003d"},{"line_number":337,"context_line":"            (SFmAlarmDataT*)malloc(found_num_alarms*sizeof(SFmAlarmDataT));"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"    if (p\u003d\u003dNULL)"},{"line_number":340,"context_line":"        return false;"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"    size_t ix \u003d 0;"},{"line_number":343,"context_line":"    for ( ; ix \u003c found_num_alarms; ++ix ){"},{"line_number":344,"context_line":"        CFmDbAlarm dbAlm;"},{"line_number":345,"context_line":"        CFmDbAlarm::convert_to(res[ix],p+ix);"},{"line_number":346,"context_line":"        std::string eid \u003d (p+ix)-\u003eentity_instance_id;"},{"line_number":347,"context_line":"        eid \u003d sname + \".\" + eid;"},{"line_number":348,"context_line":"        STRCP_TO((p+ix)-\u003eentity_instance_id, eid, CONTINUE);"},{"line_number":349,"context_line":"    }"},{"line_number":350,"context_line":"    (*alarms) \u003d p;"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"3f79a3b5_ee88d56c","line":347,"range":{"start_line":322,"start_character":0,"end_line":347,"end_character":32},"updated":"2018-10-25 13:16:57.000000000","message":"No change, and you are not following the white-space setting of the original file.","commit_id":"b07b540d7868a1072ff5a89f79d498605099c4db"},{"author":{"_account_id":28465,"name":"Dariush Eslimi","email":"Dariush.Eslimi@windriver.com","username":"deslimi"},"change_message_id":"f9f69860f1c67ea4d8c83f2503b92380ff7c00c6","unresolved":false,"context_lines":[{"line_number":346,"context_line":"        std::string eid \u003d (p+ix)-\u003eentity_instance_id;"},{"line_number":347,"context_line":"        eid \u003d sname + \".\" + eid;"},{"line_number":348,"context_line":"        STRCP_TO((p+ix)-\u003eentity_instance_id, eid, CONTINUE);"},{"line_number":349,"context_line":"    }"},{"line_number":350,"context_line":"    (*alarms) \u003d p;"},{"line_number":351,"context_line":"    *len \u003d found_num_alarms;"},{"line_number":352,"context_line":""},{"line_number":353,"context_line":"    return true;"},{"line_number":354,"context_line":"}"},{"line_number":355,"context_line":""},{"line_number":356,"context_line":"bool CFmDbAlarmOperation::get_history(CFmDBSession \u0026sess,fm_db_result_t \u0026 alarms) {"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"3f79a3b5_0e867160","line":353,"range":{"start_line":349,"start_character":0,"end_line":353,"end_character":16},"updated":"2018-10-25 13:16:57.000000000","message":"No change, and you are not following the white-space setting of the original file.","commit_id":"b07b540d7868a1072ff5a89f79d498605099c4db"},{"author":{"_account_id":28465,"name":"Dariush Eslimi","email":"Dariush.Eslimi@windriver.com","username":"deslimi"},"change_message_id":"f9f69860f1c67ea4d8c83f2503b92380ff7c00c6","unresolved":false,"context_lines":[{"line_number":436,"context_line":"}"},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"bool CFmDbAlarmOperation::get_all_history_alarms(CFmDBSession \u0026sess, SFmAlarmDataT **alarms, size_t *len ) {"},{"line_number":439,"context_line":"    fm_db_result_t res;"},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"    *len \u003d 0;"},{"line_number":442,"context_line":"    *alarms \u003d NULL;"},{"line_number":443,"context_line":"    if (!get_history(sess,res)) return false;"},{"line_number":444,"context_line":""},{"line_number":445,"context_line":"    std::string sname \u003d fm_db_util_get_system_name();"},{"line_number":446,"context_line":""},{"line_number":447,"context_line":"    unsigned int found_num_alarms \u003d res.size();"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"    if (found_num_alarms \u003c 1) return false;"},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"    SFmAlarmDataT *p \u003d"},{"line_number":452,"context_line":"            (SFmAlarmDataT*)malloc(found_num_alarms*sizeof(SFmAlarmDataT));"},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"    if (p\u003d\u003dNULL){"},{"line_number":455,"context_line":"        return false;"},{"line_number":456,"context_line":"    }"},{"line_number":457,"context_line":"    size_t ix \u003d 0;"},{"line_number":458,"context_line":"    for ( ; ix \u003c found_num_alarms; ++ix ){"},{"line_number":459,"context_line":"        CFmDbAlarm dbAlm;"},{"line_number":460,"context_line":"        CFmDbAlarm::convert_to(res[ix],p+ix);"},{"line_number":461,"context_line":"        std::string eid \u003d (p+ix)-\u003eentity_instance_id;"},{"line_number":462,"context_line":"        eid \u003d sname + \".\" + eid;"},{"line_number":463,"context_line":"        STRCP_TO((p+ix)-\u003eentity_instance_id, eid, CONTINUE);"},{"line_number":464,"context_line":"    }"},{"line_number":465,"context_line":"    (*alarms) \u003d p;"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"3f79a3b5_cee95919","line":462,"range":{"start_line":439,"start_character":0,"end_line":462,"end_character":32},"updated":"2018-10-25 13:16:57.000000000","message":"No change, and you are not following the white-space setting of the original file.","commit_id":"b07b540d7868a1072ff5a89f79d498605099c4db"},{"author":{"_account_id":28465,"name":"Dariush Eslimi","email":"Dariush.Eslimi@windriver.com","username":"deslimi"},"change_message_id":"f9f69860f1c67ea4d8c83f2503b92380ff7c00c6","unresolved":false,"context_lines":[{"line_number":461,"context_line":"        std::string eid \u003d (p+ix)-\u003eentity_instance_id;"},{"line_number":462,"context_line":"        eid \u003d sname + \".\" + eid;"},{"line_number":463,"context_line":"        STRCP_TO((p+ix)-\u003eentity_instance_id, eid, CONTINUE);"},{"line_number":464,"context_line":"    }"},{"line_number":465,"context_line":"    (*alarms) \u003d p;"},{"line_number":466,"context_line":"    *len \u003d found_num_alarms;"},{"line_number":467,"context_line":"    return true;"},{"line_number":468,"context_line":"}"},{"line_number":469,"context_line":""},{"line_number":470,"context_line":"bool CFmDbAlarmOperation::add_alarm_history(CFmDBSession \u0026sess,"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"3f79a3b5_8eefe11a","line":467,"range":{"start_line":464,"start_character":0,"end_line":467,"end_character":16},"updated":"2018-10-25 13:16:57.000000000","message":"No change, and you are not following the white-space setting of the original file.","commit_id":"b07b540d7868a1072ff5a89f79d498605099c4db"},{"author":{"_account_id":28468,"name":"Tao Liu","email":"tao.liu@windriver.com","username":"tliu88"},"change_message_id":"de3a109e07132fa329542d8300cf0844762e4c10","unresolved":false,"context_lines":[{"line_number":44,"context_line":"\tFM_ALARM_COLUMN_MASKED //18"},{"line_number":45,"context_line":"};"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"#define RETRUN_FALSE return false"},{"line_number":48,"context_line":"#define CONTINUE continue"},{"line_number":49,"context_line":"#define SNPRINTF(buffer, source, return_action) \\"},{"line_number":50,"context_line":"do{ \\"}],"source_content_type":"text/x-c++src","patch_set":8,"id":"3f79a3b5_2c2f47a7","line":47,"updated":"2018-10-31 18:54:16.000000000","message":"You should put this macro in a common header.","commit_id":"8b79ec2de6d7339eb57116e67593c430fea58746"},{"author":{"_account_id":28682,"name":"Ran An","email":"ran1.an@intel.com","username":"SidneyAn"},"change_message_id":"d665f1a190f7c68469c0cdb09dba628c7f89d3b6","unresolved":false,"context_lines":[{"line_number":44,"context_line":"\tFM_ALARM_COLUMN_MASKED //18"},{"line_number":45,"context_line":"};"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"#define RETRUN_FALSE return false"},{"line_number":48,"context_line":"#define CONTINUE continue"},{"line_number":49,"context_line":"#define SNPRINTF(buffer, source, return_action) \\"},{"line_number":50,"context_line":"do{ \\"}],"source_content_type":"text/x-c++src","patch_set":8,"id":"3f79a3b5_d893e6af","line":47,"in_reply_to":"3f79a3b5_2c2f47a7","updated":"2018-11-01 01:17:13.000000000","message":"Hi Tao,\nI prefer to create a new file (maybe fmConstant.h) to put this kind of macro. \nWhat\u0027s your opinion? \nIs there a suitable exist common header to put them?","commit_id":"8b79ec2de6d7339eb57116e67593c430fea58746"},{"author":{"_account_id":28682,"name":"Ran An","email":"ran1.an@intel.com","username":"SidneyAn"},"change_message_id":"cc25b63fb728e60358ee80670f0e302d386f446a","unresolved":false,"context_lines":[{"line_number":44,"context_line":"\tFM_ALARM_COLUMN_MASKED //18"},{"line_number":45,"context_line":"};"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"#define RETRUN_FALSE return false"},{"line_number":48,"context_line":"#define CONTINUE continue"},{"line_number":49,"context_line":"#define SNPRINTF(buffer, source, return_action) \\"},{"line_number":50,"context_line":"do{ \\"}],"source_content_type":"text/x-c++src","patch_set":8,"id":"3f79a3b5_9f59bf01","line":47,"in_reply_to":"3f79a3b5_a417dc9d","updated":"2018-11-02 01:57:13.000000000","message":"OK, thanks~ I\u0027ll upload this patch after all tests have done.","commit_id":"8b79ec2de6d7339eb57116e67593c430fea58746"},{"author":{"_account_id":28468,"name":"Tao Liu","email":"tao.liu@windriver.com","username":"tliu88"},"change_message_id":"f8cdae006a0827ce6760204fd95986014deeeeaa","unresolved":false,"context_lines":[{"line_number":44,"context_line":"\tFM_ALARM_COLUMN_MASKED //18"},{"line_number":45,"context_line":"};"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"#define RETRUN_FALSE return false"},{"line_number":48,"context_line":"#define CONTINUE continue"},{"line_number":49,"context_line":"#define SNPRINTF(buffer, source, return_action) \\"},{"line_number":50,"context_line":"do{ \\"}],"source_content_type":"text/x-c++src","patch_set":8,"id":"3f79a3b5_a417dc9d","line":47,"in_reply_to":"3f79a3b5_d893e6af","updated":"2018-11-01 15:45:31.000000000","message":"You can add it to the existing fmConstants.h.","commit_id":"8b79ec2de6d7339eb57116e67593c430fea58746"},{"author":{"_account_id":28468,"name":"Tao Liu","email":"tao.liu@windriver.com","username":"tliu88"},"change_message_id":"de3a109e07132fa329542d8300cf0844762e4c10","unresolved":false,"context_lines":[{"line_number":306,"context_line":"\tchar query[FM_MAX_SQL_STATEMENT_MAX];"},{"line_number":307,"context_line":"\tstd::string sql;"},{"line_number":308,"context_line":"\tSNPRINTF(alm_id, id, RETRUN_FALSE);"},{"line_number":309,"context_line":"\tif(snprintf(query, sizeof(query),\"%s \u003d \u0027%s\u0027\", FM_ALARM_COLUMN_ALARM_ID, id) \u003c 0)"},{"line_number":310,"context_line":"            return false;"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"\tfm_db_util_build_sql_query((const char*)FM_ALARM_TABLE_NAME, query, sql);"}],"source_content_type":"text/x-c++src","patch_set":8,"id":"3f79a3b5_c7e22c9d","line":309,"updated":"2018-10-31 18:54:16.000000000","message":"If you define SNPRINTF as a variadic macros, you can wrap snprintf here to be consistent.\nSomething like:\n#define SNPRINTF(buffer, return_action, ...) \\\ndo{ \\\n\tif (snprintf(buffer, sizeof(buffer), __VA_ARGS__) \u003c 0) { \\\n\t\tFM_WARNING_LOG(\"SNPRINTF fail because of decode error.\"); \\\n\t\treturn_action; \\\n\t} \\\n}while(0)","commit_id":"8b79ec2de6d7339eb57116e67593c430fea58746"},{"author":{"_account_id":28682,"name":"Ran An","email":"ran1.an@intel.com","username":"SidneyAn"},"change_message_id":"8c2a095551a94d8eaef4518da82659bd4b96b71f","unresolved":false,"context_lines":[{"line_number":306,"context_line":"\tchar query[FM_MAX_SQL_STATEMENT_MAX];"},{"line_number":307,"context_line":"\tstd::string sql;"},{"line_number":308,"context_line":"\tSNPRINTF(alm_id, id, RETRUN_FALSE);"},{"line_number":309,"context_line":"\tif(snprintf(query, sizeof(query),\"%s \u003d \u0027%s\u0027\", FM_ALARM_COLUMN_ALARM_ID, id) \u003c 0)"},{"line_number":310,"context_line":"            return false;"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"\tfm_db_util_build_sql_query((const char*)FM_ALARM_TABLE_NAME, query, sql);"}],"source_content_type":"text/x-c++src","patch_set":8,"id":"3f79a3b5_e8c90952","line":309,"in_reply_to":"3f79a3b5_c7e22c9d","updated":"2018-11-02 17:04:22.000000000","message":"Hi Tao\nI use snprintf directly finally. Thanks for all advises.","commit_id":"8b79ec2de6d7339eb57116e67593c430fea58746"},{"author":{"_account_id":28682,"name":"Ran An","email":"ran1.an@intel.com","username":"SidneyAn"},"change_message_id":"d665f1a190f7c68469c0cdb09dba628c7f89d3b6","unresolved":false,"context_lines":[{"line_number":306,"context_line":"\tchar query[FM_MAX_SQL_STATEMENT_MAX];"},{"line_number":307,"context_line":"\tstd::string sql;"},{"line_number":308,"context_line":"\tSNPRINTF(alm_id, id, RETRUN_FALSE);"},{"line_number":309,"context_line":"\tif(snprintf(query, sizeof(query),\"%s \u003d \u0027%s\u0027\", FM_ALARM_COLUMN_ALARM_ID, id) \u003c 0)"},{"line_number":310,"context_line":"            return false;"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"\tfm_db_util_build_sql_query((const char*)FM_ALARM_TABLE_NAME, query, sql);"}],"source_content_type":"text/x-c++src","patch_set":8,"id":"3f79a3b5_b8a2aafa","line":309,"in_reply_to":"3f79a3b5_c7e22c9d","updated":"2018-11-01 01:17:13.000000000","message":"Ok, I\u0027ll think about it. let me do some tiny test first ~~","commit_id":"8b79ec2de6d7339eb57116e67593c430fea58746"}],"fm-common/sources/fmDbEventLog.cpp":[{"author":{"_account_id":28412,"name":"Yi Wang","email":"yi.c.wang@intel.com","username":"wangyi4"},"change_message_id":"345acdbf5d8082b288dc7f34cdec043040851778","unresolved":false,"context_lines":[{"line_number":312,"context_line":"        if(snprintf((p+ix)-\u003eentity_instance_id, sizeof((p+ix)-\u003eentity_instance_id), \"%s\", eid.c_str()) \u003c 0) {"},{"line_number":313,"context_line":"            FM_WARNING_LOG(\"fail to snprintf eid %s to entity_instance_id for encoding error.\", eid.c_str());"},{"line_number":314,"context_line":"            continue;"},{"line_number":315,"context_line":"        }"},{"line_number":316,"context_line":"\t}"},{"line_number":317,"context_line":"\t(*logs) \u003d p;"},{"line_number":318,"context_line":"\t*len \u003d found_num_logs;"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"3f79a3b5_2a7447cc","line":315,"updated":"2018-10-29 06:53:19.000000000","message":"better to keep \"tab\" for consistent style","commit_id":"b07b540d7868a1072ff5a89f79d498605099c4db"},{"author":{"_account_id":28412,"name":"Yi Wang","email":"yi.c.wang@intel.com","username":"wangyi4"},"change_message_id":"425c61caabeb08e899166986e60f35e96be5aa8d","unresolved":false,"context_lines":[{"line_number":311,"context_line":"\t\teid \u003d sname + \".\" + eid;"},{"line_number":312,"context_line":"\t\tif(snprintf((p+ix)-\u003eentity_instance_id, sizeof((p+ix)-\u003eentity_instance_id), \"%s\", eid.c_str()) \u003c 0) {"},{"line_number":313,"context_line":"\t\t\tFM_WARNING_LOG(\"fail to snprintf eid %s to entity_instance_id for encoding error.\", eid.c_str());"},{"line_number":314,"context_line":"\t\t\tcontinue;"},{"line_number":315,"context_line":"\t\t}"},{"line_number":316,"context_line":"\t}"},{"line_number":317,"context_line":"\t(*logs) \u003d p;"}],"source_content_type":"text/x-c++src","patch_set":8,"id":"3f79a3b5_658cb038","line":314,"updated":"2018-10-29 08:07:06.000000000","message":"It seems \"continue\" is useless here.","commit_id":"8b79ec2de6d7339eb57116e67593c430fea58746"},{"author":{"_account_id":28682,"name":"Ran An","email":"ran1.an@intel.com","username":"SidneyAn"},"change_message_id":"3830310c1c20e75ae42fae502816628382debd4b","unresolved":false,"context_lines":[{"line_number":311,"context_line":"\t\teid \u003d sname + \".\" + eid;"},{"line_number":312,"context_line":"\t\tif(snprintf((p+ix)-\u003eentity_instance_id, sizeof((p+ix)-\u003eentity_instance_id), \"%s\", eid.c_str()) \u003c 0) {"},{"line_number":313,"context_line":"\t\t\tFM_WARNING_LOG(\"fail to snprintf eid %s to entity_instance_id for encoding error.\", eid.c_str());"},{"line_number":314,"context_line":"\t\t\tcontinue;"},{"line_number":315,"context_line":"\t\t}"},{"line_number":316,"context_line":"\t}"},{"line_number":317,"context_line":"\t(*logs) \u003d p;"}],"source_content_type":"text/x-c++src","patch_set":8,"id":"3f79a3b5_8989d825","line":314,"in_reply_to":"3f79a3b5_658cb038","updated":"2018-10-30 01:32:49.000000000","message":"Maybe making the logic visible is more readable, what\u0027s your opinion?","commit_id":"8b79ec2de6d7339eb57116e67593c430fea58746"},{"author":{"_account_id":28468,"name":"Tao Liu","email":"tao.liu@windriver.com","username":"tliu88"},"change_message_id":"de3a109e07132fa329542d8300cf0844762e4c10","unresolved":false,"context_lines":[{"line_number":315,"context_line":"\t\t}"},{"line_number":316,"context_line":"\t}"},{"line_number":317,"context_line":"\t(*logs) \u003d p;"},{"line_number":318,"context_line":"\t*len \u003d found_num_logs;"},{"line_number":319,"context_line":"\treturn true;"},{"line_number":320,"context_line":"}"}],"source_content_type":"text/x-c++src","patch_set":8,"id":"3f79a3b5_6cd0dff5","line":318,"updated":"2018-10-31 18:54:16.000000000","message":"I think it is more readable without \"continue\".","commit_id":"8b79ec2de6d7339eb57116e67593c430fea58746"},{"author":{"_account_id":28682,"name":"Ran An","email":"ran1.an@intel.com","username":"SidneyAn"},"change_message_id":"d665f1a190f7c68469c0cdb09dba628c7f89d3b6","unresolved":false,"context_lines":[{"line_number":315,"context_line":"\t\t}"},{"line_number":316,"context_line":"\t}"},{"line_number":317,"context_line":"\t(*logs) \u003d p;"},{"line_number":318,"context_line":"\t*len \u003d found_num_logs;"},{"line_number":319,"context_line":"\treturn true;"},{"line_number":320,"context_line":"}"}],"source_content_type":"text/x-c++src","patch_set":8,"id":"3f79a3b5_b8062a1b","line":318,"in_reply_to":"3f79a3b5_6cd0dff5","updated":"2018-11-01 01:17:13.000000000","message":"Ok, 2 vs 1. I remove it...","commit_id":"8b79ec2de6d7339eb57116e67593c430fea58746"}]}
