Hi!

I tried the patches that were sent out on the list, and they apply 
cleanly for me. Maybe your version of the patch command does not support 
renaming files? I tried and it works with version 2.7.1 of the patch 
command. Could you try with patching a newer version of the command, or 
by using Mercurial instead, e.g. hg qimport; hg qpush ?

regards,

Anders Widell


On 11/01/2016 09:59 AM, A V Mahesh wrote:
> Hi Anders Widell,
>
> It seems you missed to do `hg add  osaf/libs/core/mds/mds_log.cc` , 
> while trying to apply  [PATCH 2 of 3]
>
> I getting following error , can you please send the updated patch.
>
> ===========================================================
>
> # patch -p1 </avm/[PATCH 2 of 3].patch
> can't find file to patch at input line 4
> Perhaps you used the wrong -p or --strip option?
> The text leading up to this was:
> --------------------------
> |diff --git a/osaf/libs/core/mds/mds_log.cc 
> b/osaf/libs/core/mds/mds_log.cc
> |--- a/osaf/libs/core/mds/mds_log.cc
> |+++ b/osaf/libs/core/mds/mds_log.cc
> --------------------------
> File to patch:
>
> ===========================================================
> -AVM
>
>
> On 10/19/2016 5:18 PM, Anders Widell wrote:
>>   osaf/libs/core/mds/Makefile.am |    2 +-
>>   osaf/libs/core/mds/include/mds_dt2c.h |    3 -
>>   osaf/libs/core/mds/include/mds_log.h  |   59 +++--
>>   osaf/libs/core/mds/mds_dt_tipc.c      |    5 +-
>>   osaf/libs/core/mds/mds_log.cc         |  369 
>> +++++++++++++++++----------------
>>   osaf/libs/core/mds/mds_main.c         |    3 +-
>>   6 files changed, 228 insertions(+), 213 deletions(-)
>>
>>
>> Convert the mds_log.c file to C++ so that it can use C++ classes 
>> without the
>> need for any wrappers.
>>
>> diff --git a/osaf/libs/core/mds/Makefile.am 
>> b/osaf/libs/core/mds/Makefile.am
>> --- a/osaf/libs/core/mds/Makefile.am
>> +++ b/osaf/libs/core/mds/Makefile.am
>> @@ -37,7 +37,7 @@ libmds_la_SOURCES = \
>>       mds_papi.c \
>>       mds_c_sndrcv.c \
>>       mds_c_api.c \
>> -    mds_log.c \
>> +    mds_log.cc \
>>       ncs_ada.c \
>>       ncs_mda.c \
>>       ncs_vda.c
>> diff --git a/osaf/libs/core/mds/include/mds_dt2c.h 
>> b/osaf/libs/core/mds/include/mds_dt2c.h
>> --- a/osaf/libs/core/mds/include/mds_dt2c.h
>> +++ b/osaf/libs/core/mds/include/mds_dt2c.h
>> @@ -316,9 +316,6 @@ typedef struct mds_mbx_evt_info {
>>   /* ******************************************** */
>>   /* ******************************************** */
>>   -/* Initialize Logging */
>> -extern uint32_t mds_log_init(char *log_file_name, char *line_prefix);
>> -
>>   /* extern gl_mds_checksum */
>>   extern uint32_t gl_mds_checksum;
>>   diff --git a/osaf/libs/core/mds/include/mds_log.h 
>> b/osaf/libs/core/mds/include/mds_log.h
>> --- a/osaf/libs/core/mds/include/mds_log.h
>> +++ b/osaf/libs/core/mds/include/mds_log.h
>> @@ -22,39 +22,50 @@
>> ******************************************************************************
>>     */
>>   -#ifndef _MDS_LOG_H
>> -#define _MDS_LOG_H
>> +#ifndef OSAF_LIBS_CORE_MDS_INCLUDE_MDS_LOG_H_
>> +#define OSAF_LIBS_CORE_MDS_INCLUDE_MDS_LOG_H_
>>   -#include <ncsgl_defs.h>
>> -#include "ncs_lib.h"
>> +#include <stdint.h>
>> +
>> +#ifdef  __cplusplus
>> +extern "C" {
>> +#endif
>>     /* Logging utility functions  - Phani */
>>   -extern uint32_t gl_mds_log_level;
>> +extern int gl_mds_log_level;
>>   -#define NCSMDS_LC_CRITICAL       1
>> -#define NCSMDS_LC_ERR            2
>> -#define NCSMDS_LC_NOTIFY         3
>> -#define NCSMDS_LC_INFO           4
>> -#define NCSMDS_LC_DBG            5
>> +enum {
>> +  NCSMDS_LC_CRITICAL = 1,
>> +  NCSMDS_LC_ERR = 2,
>> +  NCSMDS_LC_NOTIFY = 3,
>> +  NCSMDS_LC_INFO = 4,
>> +  NCSMDS_LC_DBG = 5
>> +};
>>   -#define m_MDS_LOG_CRITICAL  if (gl_mds_log_level < 
>> NCSMDS_LC_CRITICAL) {} else log_mds_critical
>> -
>> -#define m_MDS_LOG_ERR if (gl_mds_log_level < NCSMDS_LC_ERR) {} else 
>> log_mds_err
>> -
>> -#define m_MDS_LOG_NOTIFY if (gl_mds_log_level < NCSMDS_LC_NOTIFY) {} 
>> else log_mds_notify
>> -
>> -#define m_MDS_LOG_INFO if (gl_mds_log_level < NCSMDS_LC_INFO) {} 
>> else log_mds_info
>> -
>> -#define m_MDS_LOG_DBG if (gl_mds_log_level < NCSMDS_LC_DBG) {} else 
>> log_mds_dbg
>> +#define m_MDS_LOG_CRITICAL log_mds_critical
>> +#define m_MDS_LOG_ERR log_mds_err
>> +#define m_MDS_LOG_NOTIFY log_mds_notify
>> +#define m_MDS_LOG_INFO log_mds_info
>> +#define m_MDS_LOG_DBG log_mds_dbg
>>     #define m_MDS_ENTER() m_MDS_LOG_DBG(">> %s", __FUNCTION__)
>>   #define m_MDS_LEAVE() m_MDS_LOG_DBG("<< %s", __FUNCTION__)
>>   -extern void log_mds_dbg(char *fmt, ...);
>> -extern void log_mds_info(char *fmt, ...);
>> -extern void log_mds_notify(char *fmt, ...);
>> -extern void log_mds_err(char *fmt, ...);
>> -extern void log_mds_critical(char *fmt, ...);
>> +uint32_t mds_log_init(const char *log_file_name);
>> +void log_mds_dbg(const char *fmt, ...)
>> +    __attribute__ ((format(printf, 1, 2)));
>> +void log_mds_info(const char *fmt, ...)
>> +    __attribute__ ((format(printf, 1, 2)));
>> +void log_mds_notify(const char *fmt, ...)
>> +    __attribute__ ((format(printf, 1, 2)));
>> +void log_mds_err(const char *fmt, ...)
>> +    __attribute__ ((format(printf, 1, 2)));
>> +void log_mds_critical(const char *fmt, ...)
>> +    __attribute__ ((format(printf, 1, 2)));
>>   +#ifdef  __cplusplus
>> +}
>>   #endif
>> +
>> +#endif  // OSAF_LIBS_CORE_MDS_INCLUDE_MDS_LOG_H_
>> diff --git a/osaf/libs/core/mds/mds_dt_tipc.c 
>> b/osaf/libs/core/mds/mds_dt_tipc.c
>> --- a/osaf/libs/core/mds/mds_dt_tipc.c
>> +++ b/osaf/libs/core/mds/mds_dt_tipc.c
>> @@ -31,6 +31,7 @@
>>   #include "ncssysf_tsk.h"
>>   #include "ncssysf_mem.h"
>>   +#include <inttypes.h>
>>   #include <stdbool.h>
>>   #include <stdlib.h>
>>   #include <sched.h>
>> @@ -1107,12 +1108,12 @@ static uint32_t mdtm_process_discovery_e
>>                   m_MDS_LOG_INFO("MDTM: Raising the NODE UP event for 
>> NODE id = %d", node_id);
>>                   uint32_t up_node_id;
>>                   if ((up_node_id = 
>> m_MDS_GET_NODE_ID_FROM_ADEST(m_MDS_GET_ADEST)) == node_id) {
>> -                    m_MDS_LOG_INFO("MDTM:NODE_UP for 
>> subtn_ref_val:%lu node_name:%s, node_id:%u addr_family:%d ",
>> +                    m_MDS_LOG_INFO("MDTM:NODE_UP for 
>> subtn_ref_val:%" PRIu64 " node_name:%s, node_id:%u addr_family:%d ",
>> (uint64_t)subtn_ref_val,gl_mds_mcm_cb->node_name, node_id, AF_TIPC);
>>                       return mds_mcm_node_up(svc_hdl, node_id, NULL, 
>> AF_TIPC, gl_mds_mcm_cb->node_name);
>>                   } else {
>>   -                    m_MDS_LOG_INFO("MDTM:NODE_UP for 
>> subtn_ref_val:%lu node_name:%s, node_id:%u addr_family:%d ",
>> +                    m_MDS_LOG_INFO("MDTM:NODE_UP for 
>> subtn_ref_val:%" PRIu64 " node_name:%s, node_id:%u addr_family:%d ",
>> (uint64_t)subtn_ref_val, "REMOTE_NODE", node_id, AF_TIPC);
>>                       return mds_mcm_node_up(svc_hdl, node_id, NULL, 
>> AF_TIPC, "REMOTE_NODE");
>>                   }
>> diff --git a/osaf/libs/core/mds/mds_log.c 
>> b/osaf/libs/core/mds/mds_log.cc
>> rename from osaf/libs/core/mds/mds_log.c
>> rename to osaf/libs/core/mds/mds_log.cc
>> --- a/osaf/libs/core/mds/mds_log.c
>> +++ b/osaf/libs/core/mds/mds_log.cc
>> @@ -19,233 +19,240 @@
>> ..............................................................................
>>     DESCRIPTION:  MDS LOG APIs
>> -******************************************************************************
>> -*/
>> + 
>> ******************************************************************************
>> +  */
>>   -#include "mds_log.h"
>> -#include "mds_dt2c.h"        /* Include for arch-word definitions */
>> +#include "osaf/libs/core/mds/include/mds_log.h"
>> +#include <sys/time.h>
>> +#include <time.h>
>> +#include <unistd.h>
>> +#include <cstdarg>
>> +#include <cstdio>
>> +#include <cstring>
>> +#include "osaf/libs/core/include/mds_papi.h"
>> +#include "osaf/libs/core/include/ncsgl_defs.h"
>> +#include "osaf/libs/core/mds/include/mds_dt2c.h"
>>   -static char *lf = NULL;
>> +constexpr static const size_t kMaxMdsFileNameLen = 256;
>>     static void log_mds(const char *str);
>> +
>> +int gl_mds_log_level = 3;
>> +static char *lf = nullptr;
>>   static char process_name[MDS_MAX_PROCESS_NAME_LEN];
>> +static char mds_log_fname[kMaxMdsFileNameLen];
>>     /*****************************************************
>>    Function NAME: get_process_name()
>>    Returns : <process_name>[<pid> or <tipc_port_ref>]
>>   *****************************************************/
>> -static void get_process_name(void)
>> -{
>> -    char pid_path[1024];
>> -    uint32_t process_id = getpid();
>> -    char *token, *saveptr;
>> -    char *pid_name = NULL;
>> +static void get_process_name() {
>> +  char pid_path[1024];
>> +  uint32_t process_id = getpid();
>> +  char *token, *saveptr;
>> +  char *pid_name = nullptr;
>>   -    sprintf(pid_path, "/proc/%d/cmdline", process_id);
>> -    FILE* f = fopen(pid_path,"r");
>> -    if(f){
>> -        size_t size;
>> -        size = fread(pid_path, sizeof(char), 1024, f);
>> -        if(size>0){
>> -            if('\n' == pid_path[size-1])
>> -                pid_path[size-1]='\0';
>> -        }
>> -        fclose(f);
>> -    }
>> -    token = strtok_r(pid_path, "/", &saveptr);
>> -    while( token != NULL )
>> -    {
>> -        pid_name = token;
>> -        token = strtok_r(NULL, "/", &saveptr);
>> -    }
>> -    snprintf(process_name, MDS_MAX_PROCESS_NAME_LEN, "%s[%d]", 
>> pid_name, process_id);
>> -    return;
>> +  snprintf(pid_path, sizeof(pid_path), "/proc/%d/cmdline", process_id);
>> +  FILE* f = fopen(pid_path, "r");
>> +  if (f) {
>> +    size_t size;
>> +    size = fread(pid_path, sizeof(char), 1024, f);
>> +    if (size > 0) {
>> +      if ('\n' == pid_path[size-1])
>> +        pid_path[size-1] = '\0';
>> +    }
>> +    fclose(f);
>> +  }
>> +  token = strtok_r(pid_path, "/", &saveptr);
>> +  while (token != nullptr) {
>> +    pid_name = token;
>> +    token = strtok_r(nullptr, "/", &saveptr);
>> +  }
>> +  snprintf(process_name, MDS_MAX_PROCESS_NAME_LEN, "%s[%d]", pid_name,
>> +           process_id);
>> +  return;
>>   }
>> /*******************************************************************************
>> -* Funtion Name   :    mds_log_init
>> -*
>> -* Purpose        :
>> -*
>> -* Return Value   :    None
>> -*
>> -*******************************************************************************/
>>  
>>
>> -#define MAX_MDS_FNAME_LEN  256
>> -static char mds_log_fname[MAX_MDS_FNAME_LEN];
>> + * Funtion Name   :    mds_log_init
>> + *
>> + * Purpose        :
>> + *
>> + * Return Value   :    None
>> + *
>> + 
>> *******************************************************************************/
>> +uint32_t mds_log_init(const char *log_file_name) {
>> +  FILE *fh;
>> +  memset(process_name, 0, MDS_MAX_PROCESS_NAME_LEN);
>> +  tzset();
>> +  get_process_name();
>>   -uint32_t mds_log_init(char *log_file_name, char *line_prefix)
>> -{
>> -    FILE *fh;
>> -    memset(process_name, 0, MDS_MAX_PROCESS_NAME_LEN);
>> -    tzset();
>> -    get_process_name();
>> +  if (lf != nullptr)
>> +    return NCSCC_RC_FAILURE;
>>   -    if (lf != NULL)
>> -        return NCSCC_RC_FAILURE;
>> +  if (strlen(log_file_name) >= kMaxMdsFileNameLen)
>> +    return NCSCC_RC_FAILURE;
>>   -    if (strlen(log_file_name) >= MAX_MDS_FNAME_LEN)
>> -        return NCSCC_RC_FAILURE;
>> +  snprintf(mds_log_fname, sizeof(mds_log_fname), "%s", log_file_name);
>>   -    strcpy(mds_log_fname, log_file_name);
>> +  lf = mds_log_fname;
>>   -    lf = mds_log_fname;
>> +  if ((fh = fopen(lf, "a+")) != nullptr) {
>> +    fclose(fh);
>> +    log_mds_notify("BEGIN MDS LOGGING| PID=<%s> | 
>> ARCHW=%x|64bit=%zu\n",
>> +                   process_name, MDS_SELF_ARCHWORD, 
>> MDS_WORD_SIZE_TYPE);
>> +  }
>>   -    if ((fh = fopen(lf, "a+")) != NULL) {
>> -        fclose(fh);
>> -        log_mds_notify("BEGIN MDS LOGGING| PID=<%s> | 
>> ARCHW=%x|64bit=%ld\n",
>> -                process_name, MDS_SELF_ARCHWORD, 
>> (long)MDS_WORD_SIZE_TYPE);
>> -    }
>> -
>> -    return NCSCC_RC_SUCCESS;
>> +  return NCSCC_RC_SUCCESS;
>>   }
>> /*******************************************************************************
>> -* Funtion Name   :    log_mds_critical
>> -*
>> -* Purpose        :
>> -*
>> -* Return Value   :    None
>> -*
>> -*******************************************************************************/
>>  
>>
>> -void log_mds_critical(char *fmt, ...)
>> -{
>> -    char str[MDS_MAX_PROCESS_NAME_LEN + 32];
>> -    int i;
>> -    va_list ap;
>> + * Funtion Name   :    log_mds_critical
>> + *
>> + * Purpose        :
>> + *
>> + * Return Value   :    None
>> + *
>> + 
>> *******************************************************************************/
>> +void log_mds_critical(const char *fmt, ...) {
>> +  if (gl_mds_log_level < NCSMDS_LC_CRITICAL) return;
>> +  char str[MDS_MAX_PROCESS_NAME_LEN + 32];
>> +  int i;
>> +  va_list ap;
>>   -    i = snprintf(str, sizeof(str), "%s CRITICAL  |", process_name);
>> -    va_start(ap, fmt);
>> -    vsnprintf(str + i, sizeof(str) - i, fmt, ap);
>> -    va_end(ap);
>> -    log_mds(str);
>> +  i = snprintf(str, sizeof(str), "%s CRITICAL  |", process_name);
>> +  va_start(ap, fmt);
>> +  vsnprintf(str + i, sizeof(str) - i, fmt, ap);
>> +  va_end(ap);
>> +  log_mds(str);
>>   }
>> /*******************************************************************************
>> -* Funtion Name   :    log_mds_err
>> -*
>> -* Purpose        :
>> -*
>> -* Return Value   :    None
>> -*
>> -*******************************************************************************/
>>  
>>
>> -void log_mds_err(char *fmt, ...)
>> -{
>> -    char str[MDS_MAX_PROCESS_NAME_LEN + 32];
>> -    int i;
>> -    va_list ap;
>> + * Funtion Name   :    log_mds_err
>> + *
>> + * Purpose        :
>> + *
>> + * Return Value   :    None
>> + *
>> + 
>> *******************************************************************************/
>> +void log_mds_err(const char *fmt, ...) {
>> +  if (gl_mds_log_level < NCSMDS_LC_ERR) return;
>> +  char str[MDS_MAX_PROCESS_NAME_LEN + 32];
>> +  int i;
>> +  va_list ap;
>>   -    i = snprintf(str, sizeof(str), "%s ERR  |", process_name);
>> -    va_start(ap, fmt);
>> -    vsnprintf(str + i, sizeof(str) - i, fmt, ap);
>> -    va_end(ap);
>> -    log_mds(str);
>> +  i = snprintf(str, sizeof(str), "%s ERR  |", process_name);
>> +  va_start(ap, fmt);
>> +  vsnprintf(str + i, sizeof(str) - i, fmt, ap);
>> +  va_end(ap);
>> +  log_mds(str);
>>   }
>> /*******************************************************************************
>> -* Funtion Name   :    log_mds_notify
>> -*
>> -* Purpose        :
>> -*
>> -* Return Value   :    None
>> -*
>> -*******************************************************************************/
>>  
>>
>> -void log_mds_notify(char *fmt, ...)
>> -{
>> -    char str[MDS_MAX_PROCESS_NAME_LEN + 32];
>> -    int i;
>> -    va_list ap;
>> + * Funtion Name   :    log_mds_notify
>> + *
>> + * Purpose        :
>> + *
>> + * Return Value   :    None
>> + *
>> + 
>> *******************************************************************************/
>> +void log_mds_notify(const char *fmt, ...) {
>> +  if (gl_mds_log_level < NCSMDS_LC_NOTIFY) return;
>> +  char str[MDS_MAX_PROCESS_NAME_LEN + 32];
>> +  int i;
>> +  va_list ap;
>>   -    i = snprintf(str, sizeof(str), "%s NOTIFY  |", process_name);
>> -    va_start(ap, fmt);
>> -    vsnprintf(str + i, sizeof(str) - i, fmt, ap);
>> -    va_end(ap);
>> -    log_mds(str);
>> +  i = snprintf(str, sizeof(str), "%s NOTIFY  |", process_name);
>> +  va_start(ap, fmt);
>> +  vsnprintf(str + i, sizeof(str) - i, fmt, ap);
>> +  va_end(ap);
>> +  log_mds(str);
>>   }
>> /*******************************************************************************
>> -* Funtion Name   :    log_mds_info
>> -*
>> -* Purpose        :
>> -*
>> -* Return Value   :    None
>> -*
>> -*******************************************************************************/
>>  
>>
>> -void log_mds_info(char *fmt, ...)
>> -{
>> -    char str[MDS_MAX_PROCESS_NAME_LEN + 32];
>> -    int i;
>> -    va_list ap;
>> + * Funtion Name   :    log_mds_info
>> + *
>> + * Purpose        :
>> + *
>> + * Return Value   :    None
>> + *
>> + 
>> *******************************************************************************/
>> +void log_mds_info(const char *fmt, ...) {
>> +  if (gl_mds_log_level < NCSMDS_LC_INFO) return;
>> +  char str[MDS_MAX_PROCESS_NAME_LEN + 32];
>> +  int i;
>> +  va_list ap;
>>   -    i = snprintf(str, sizeof(str), "%s INFO  |", process_name);
>> -    va_start(ap, fmt);
>> -    vsnprintf(str + i, sizeof(str) - i, fmt, ap);
>> -    va_end(ap);
>> -    log_mds(str);
>> +  i = snprintf(str, sizeof(str), "%s INFO  |", process_name);
>> +  va_start(ap, fmt);
>> +  vsnprintf(str + i, sizeof(str) - i, fmt, ap);
>> +  va_end(ap);
>> +  log_mds(str);
>>   }
>> /*******************************************************************************
>> -* Funtion Name   :    log_mds_dbg
>> -*
>> -* Purpose        :
>> -*
>> -* Return Value   :    NCSCC_RC_SUCCESS
>> -*                     NCSCC_RC_FAILURE
>> -*
>> -*******************************************************************************/
>>  
>>
>> -void log_mds_dbg(char *fmt, ...)
>> -{
>> -    char str[MDS_MAX_PROCESS_NAME_LEN + 32];
>> -    int i;
>> -    va_list ap;
>> + * Funtion Name   :    log_mds_dbg
>> + *
>> + * Purpose        :
>> + *
>> + * Return Value   :    NCSCC_RC_SUCCESS
>> + *                     NCSCC_RC_FAILURE
>> + *
>> + 
>> *******************************************************************************/
>> +void log_mds_dbg(const char *fmt, ...) {
>> +  if (gl_mds_log_level < NCSMDS_LC_DBG) return;
>> +  char str[MDS_MAX_PROCESS_NAME_LEN + 32];
>> +  int i;
>> +  va_list ap;
>>   -    i = snprintf(str, sizeof(str), "%s DBG  |", process_name);
>> -    va_start(ap, fmt);
>> -    vsnprintf(str + i, sizeof(str) - i, fmt, ap);
>> -    va_end(ap);
>> -    log_mds(str);
>> +  i = snprintf(str, sizeof(str), "%s DBG  |", process_name);
>> +  va_start(ap, fmt);
>> +  vsnprintf(str + i, sizeof(str) - i, fmt, ap);
>> +  va_end(ap);
>> +  log_mds(str);
>>   }
>> /*******************************************************************************
>> -* Funtion Name   :    log_mds
>> -*
>> -* Purpose        :
>> -*
>> -* Return Value   :    None
>> -*
>> -*******************************************************************************/
>>  
>>
>> -static void log_mds(const char *str)
>> -{
>> -    FILE *fp;
>> -    struct tm *tstamp_data, tm_info;
>> + * Funtion Name   :    log_mds
>> + *
>> + * Purpose        :
>> + *
>> + * Return Value   :    None
>> + *
>> + 
>> *******************************************************************************/
>> +static void log_mds(const char *str) {
>> +  FILE *fp;
>>   -    if (lf != NULL && ((fp = fopen(lf, "a+")) != NULL)) {
>> -        struct timeval tv;
>> -        char asc_tod[128];
>> -        char log_string[512];
>> -        int i;
>> +  if (lf != nullptr && ((fp = fopen(lf, "a+")) != nullptr)) {
>> +    struct tm tm_info;
>> +    struct timeval tv;
>> +    char asc_tod[128];
>> +    char log_string[512];
>> +    int i;
>>   -        gettimeofday(&tv, NULL);
>> -        tstamp_data = localtime_r(&tv.tv_sec, &tm_info);
>> -        osafassert(tstamp_data);
>> +    gettimeofday(&tv, nullptr);
>> +    struct tm* tstamp_data = localtime_r(&tv.tv_sec, &tm_info);
>> +    osafassert(tstamp_data);
>>   -        strftime(asc_tod, sizeof(asc_tod), "%b %e %k:%M:%S", 
>> tstamp_data);
>> -        i = snprintf(log_string, sizeof(log_string), "%s.%06ld %s",
>> -                 asc_tod, tv.tv_usec, str);
>> +    strftime(asc_tod, sizeof(asc_tod), "%b %e %k:%M:%S", tstamp_data);
>> +    i = snprintf(log_string, sizeof(log_string), "%s.%06ld %s",
>> +                 asc_tod, tv.tv_usec, str);
>>   -        if (i >= sizeof(log_string)) {
>> -            i = sizeof(log_string);
>> -            log_string[i - 1] = '\n';
>> -        } else if (log_string[i - 1] != '\n') {
>> -            log_string[i] = '\n';
>> -            i++;
>> -        }
>> +    if (i < 0) {
>> +      i = 1;
>> +      log_string[i - 1] = '\n';
>> +    } else if (static_cast<size_t>(i) >= sizeof(log_string)) {
>> +      i = sizeof(log_string);
>> +      log_string[i - 1] = '\n';
>> +    } else if (log_string[i - 1] != '\n') {
>> +      log_string[i] = '\n';
>> +      i++;
>> +    }
>>   -        if (! fwrite(log_string, 1, i, fp)) {
>> -            fclose(fp);
>> -            return;
>> -        }
>> +    if (fwrite(log_string, 1, i, fp) != static_cast<size_t>(i)) {
>> +      fclose(fp);
>> +      return;
>> +    }
>>   -        fclose(fp);
>> -    }
>> +    fclose(fp);
>> +  }
>>   }
>> -
>> -
>> diff --git a/osaf/libs/core/mds/mds_main.c 
>> b/osaf/libs/core/mds/mds_main.c
>> --- a/osaf/libs/core/mds/mds_main.c
>> +++ b/osaf/libs/core/mds/mds_main.c
>> @@ -102,7 +102,6 @@ static void mds_mutex_init_once(void)
>>   }
>>     /* global Log level variable */
>> -uint32_t gl_mds_log_level = 3;
>>   uint32_t gl_mds_checksum = 0;
>>     uint32_t MDS_QUIESCED_TMR_VAL = 80;
>> @@ -558,7 +557,7 @@ uint32_t mds_lib_req(NCS_LIB_REQ_INFO *r
>>               char buff[50], pref[50];
>>               snprintf(buff, sizeof(buff), PKGLOGDIR "/mds.log");
>>               memset(pref, 0 ,sizeof(pref));
>> -            mds_log_init(buff, pref);
>> +            mds_log_init(buff);
>>           }
>>             osaf_mutex_unlock_ordie(&gl_mds_library_mutex);
>


------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to