Changeset f5da671 in mainline
- Timestamp:
- 2012-08-17T10:50:54Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f08ab0f
- Parents:
- 3cf862f
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/logger/logs.c
r3cf862f rf5da671 53 53 } 54 54 55 static logger_dest_t *create_dest(const char *name)55 static int create_dest(const char *name, logger_dest_t **dest) 56 56 { 57 57 logger_dest_t *result = malloc(sizeof(logger_dest_t)); 58 if (result == NULL) 59 return ENOMEM; 58 60 char *logfilename; 59 asprintf(&logfilename, "/log/%s", name); 61 int rc = asprintf(&logfilename, "/log/%s", name); 62 if (rc < 0) { 63 free(result); 64 return ENOMEM; 65 } 60 66 result->logfile = fopen(logfilename, "a"); 61 return result; 67 free(logfilename); 68 if (result->logfile == NULL) { 69 free(result); 70 return ENOMEM; 71 } 72 *dest = result; 73 return EOK; 62 74 } 63 75 … … 73 85 goto leave; 74 86 75 result = malloc(sizeof(logger_log_t));87 result = calloc(1, sizeof(logger_log_t)); 76 88 if (result == NULL) 77 89 goto leave; 78 79 90 80 91 result->logged_level = LOG_LEVEL_USE_DEFAULT; … … 82 93 if (parent == NULL) { 83 94 result->full_name = str_dup(name); 84 result->dest = create_dest(name); 95 int rc = create_dest(name, &result->dest); 96 if (rc != EOK) 97 goto error_result_allocated; 85 98 } else { 86 asprintf(&result->full_name, "%s/%s", parent->full_name, name); 99 int rc = asprintf(&result->full_name, "%s/%s", 100 parent->full_name, name); 101 if (rc < 0) 102 goto error_result_allocated; 87 103 result->dest = parent->dest; 88 104 } … … 95 111 96 112 list_append(&result->link, &log_list); 113 114 97 115 leave: 98 116 fibril_mutex_unlock(&log_list_guard); 99 117 100 118 return result; 119 120 error_result_allocated: 121 free(result->name); 122 free(result->full_name); 123 free(result); 124 return NULL; 101 125 } 102 126
Note:
See TracChangeset
for help on using the changeset viewer.