14
14
#include "util_strings.h"
15
15
#include "util_time.h"
16
16
17
- nr_error_t * nr_error_create (int priority ,
17
+ static nr_error_t * nr_error_create_helper (int priority ,
18
18
const char * message ,
19
19
const char * klass ,
20
+ const char * error_file ,
21
+ int error_line ,
22
+ const char * error_context ,
23
+ int error_no ,
20
24
const char * stacktrace_json ,
21
25
const char * span_id ,
22
26
nrtime_t when ) {
23
27
nr_error_t * error ;
24
28
25
- if (0 == message ) {
26
- return 0 ;
27
- }
28
- if (0 == klass ) {
29
- return 0 ;
30
- }
31
- if (0 == stacktrace_json ) {
32
- return 0 ;
33
- }
34
-
35
29
error = (nr_error_t * )nr_zalloc (sizeof (nr_error_t ));
36
30
error -> priority = priority ;
37
31
error -> when = when ;
38
32
error -> message = nr_strdup (message );
39
33
error -> klass = nr_strdup (klass );
40
34
error -> stacktrace_json = nr_strdup (stacktrace_json );
41
- error -> option = 0 ;
35
+ if (NULL != error_file && NULL != error_context ) {
36
+ error -> error_file = nr_strdup (error_file );
37
+ error -> error_line = error_line ;
38
+ error -> error_context = nr_strdup (error_context );
39
+ error -> error_no = error_no ;
40
+ }
42
41
43
42
if (NULL != span_id ) {
44
43
error -> span_id = nr_strdup (span_id );
45
44
}
46
45
return error ;
47
46
}
48
47
48
+ nr_error_t * nr_error_create (int priority ,
49
+ const char * message ,
50
+ const char * klass ,
51
+ const char * stacktrace_json ,
52
+ const char * span_id ,
53
+ nrtime_t when ) {
54
+ if (0 == message || 0 == klass || 0 == stacktrace_json ) {
55
+ return 0 ;
56
+ }
57
+ return nr_error_create_helper (priority , message , klass , NULL , 0 , NULL , 0 ,
58
+ stacktrace_json , span_id , when );
59
+ }
60
+
49
61
nr_error_t * nr_error_create_additional_params (int priority ,
50
62
const char * message ,
51
63
const char * klass ,
@@ -56,31 +68,12 @@ nr_error_t* nr_error_create_additional_params(int priority,
56
68
const char * stacktrace_json ,
57
69
const char * span_id ,
58
70
nrtime_t when ) {
59
- nr_error_t * error ;
60
-
61
71
if (0 == message || 0 == klass || 0 == error_file || 0 == error_context
62
72
|| 0 == stacktrace_json ) {
63
73
return 0 ;
64
74
}
65
-
66
- error = (nr_error_t * )nr_zalloc (sizeof (nr_error_t ));
67
- error -> priority = priority ;
68
- error -> when = when ;
69
- error -> message = nr_strdup (message );
70
- error -> klass = nr_strdup (klass );
71
- error -> error_file = nr_strdup (error_file );
72
- error -> error_line = error_line ;
73
- error -> error_context = nr_strdup (error_context );
74
- error -> error_no = error_no ;
75
-
76
- error -> stacktrace_json = nr_strdup (stacktrace_json );
77
-
78
- if (NULL != span_id ) {
79
- error -> span_id = nr_strdup (span_id );
80
- }
81
-
82
- error -> option = 1 ;
83
- return error ;
75
+ return nr_error_create_helper (priority , message , klass , error_file , error_line , error_context , error_no ,
76
+ stacktrace_json , span_id , when );
84
77
}
85
78
86
79
const char * nr_error_get_message (const nr_error_t * error ) {
@@ -125,13 +118,6 @@ int nr_error_get_no(const nr_error_t* error) {
125
118
return error -> error_no ;
126
119
}
127
120
128
- int nr_error_get_option (const nr_error_t * error ) {
129
- if (NULL == error ) {
130
- return 0 ;
131
- }
132
- return error -> option ;
133
- }
134
-
135
121
nrtime_t nr_error_get_time (const nr_error_t * error ) {
136
122
if (NULL == error ) {
137
123
return 0 ;
@@ -167,25 +153,10 @@ void nr_error_destroy(nr_error_t** error_ptr) {
167
153
nr_free (error -> klass );
168
154
nr_free (error -> span_id );
169
155
nr_free (error -> stacktrace_json );
170
- nr_realfree ((void * * )error_ptr );
171
- }
172
-
173
- void nr_error_destroy_additional_params (nr_error_t * * error_ptr ) {
174
- nr_error_t * error ;
175
-
176
- if (0 == error_ptr ) {
177
- return ;
156
+ if ((NULL != error -> error_file ) && (NULL != error -> error_context )) {
157
+ nr_free (error -> error_file );
158
+ nr_free (error -> error_context );
178
159
}
179
- error = * error_ptr ;
180
- if (0 == error ) {
181
- return ;
182
- }
183
- nr_free (error -> message );
184
- nr_free (error -> klass );
185
- nr_free (error -> error_file );
186
- nr_free (error -> error_context );
187
- nr_free (error -> span_id );
188
- nr_free (error -> stacktrace_json );
189
160
nr_realfree ((void * * )error_ptr );
190
161
}
191
162
0 commit comments