@@ -37,19 +37,19 @@ int is_prime_request_builder(struct is_prime_request** request,
37
37
bool prime ;
38
38
int j = 1 , number ;
39
39
char * str1 = raw_request , * token , * saveptr1 ;
40
- struct is_prime_request * prev ;
40
+ struct is_prime_request * prev ;
41
41
42
42
// tokenizer on the split delimiters
43
- for (; ; j ++ , str1 = NULL ) {
43
+ for (;; j ++ , str1 = NULL ) {
44
44
token = strtok_r (str1 , DELIMETERS , & saveptr1 );
45
45
if (token == NULL )
46
46
break ;
47
47
number = is_prime_request_malformed (token );
48
48
prime = is_prime (number );
49
49
50
- // The very first request pointer should be the one passed
50
+ // The very first request pointer should be the one passed
51
51
// as argument to the function
52
- struct is_prime_request * curr ;
52
+ struct is_prime_request * curr ;
53
53
is_prime_init (& curr , number , prime );
54
54
if (j == 1 )
55
55
* request = curr ;
@@ -82,70 +82,83 @@ void is_prime_init(struct is_prime_request** request, int number, bool prime)
82
82
(* request )-> number = number ;
83
83
}
84
84
85
- int is_prime_request_malformed (char * req )
85
+ int is_prime_request_malformed (char * req )
86
86
{
87
87
assert (req != NULL );
88
88
89
89
log_trace ("is_prime_request_malformed: parsing request: '%s'" , req );
90
90
91
91
{
92
92
// If there's a period it probably means a double and that's is a non-prime
93
- char * r = NULL ;
93
+ char * r = NULL ;
94
94
r = strchr (req , '.' );
95
95
if (r != NULL )
96
96
return -8 ;
97
97
}
98
98
99
99
// Is json?
100
- json_object * root = json_tokener_parse (req );
100
+ json_object * root = json_tokener_parse (req );
101
101
if (!root ) {
102
102
log_warn ("is_prime_request_malformed: json_tokener_parse failed" );
103
103
return -1 ;
104
104
}
105
105
106
- json_object * method = json_object_object_get (root , PRIME_RESPONSE_METHOD_KEY );
106
+ json_object * method = json_object_object_get (root , PRIME_RESPONSE_METHOD_KEY );
107
107
if (!method ) {
108
108
json_object_put (root );
109
- log_warn ("is_prime_request_malformed: json_object_object_get failed for 'method'" );
109
+ log_warn (
110
+ "is_prime_request_malformed: json_object_object_get failed for "
111
+ "'method'" );
110
112
return -2 ;
111
113
}
112
114
113
- const char * method_value = json_object_get_string (method );
115
+ const char * method_value = json_object_get_string (method );
114
116
if (!method_value ) {
115
117
json_object_put (root );
116
- log_warn ("is_prime_request_malformed: json_object_get_string failed for 'method'" );
118
+ log_warn (
119
+ "is_prime_request_malformed: json_object_get_string failed for "
120
+ "'method'" );
117
121
return -3 ;
118
122
}
119
123
120
- if (strncmp (PRIME_RESPONSE_METHOD_VALUE , method_value , PRIME_RESPONSE_METHOD_VALUE_LEN ) != 0 ) {
124
+ if (strncmp (PRIME_RESPONSE_METHOD_VALUE ,
125
+ method_value ,
126
+ PRIME_RESPONSE_METHOD_VALUE_LEN )
127
+ != 0 )
128
+ {
121
129
json_object_put (root );
122
- log_warn ("is_prime_request_malformed: method value did not match '%s'" , method_value );
130
+ log_warn ("is_prime_request_malformed: method value did not match '%s'" ,
131
+ method_value );
123
132
return -4 ;
124
133
}
125
134
126
- json_object * number = json_object_object_get (root , PRIME_REQUEST_NUMBER_KEY );
135
+ json_object * number = json_object_object_get (root , PRIME_REQUEST_NUMBER_KEY );
127
136
if (!method ) {
128
137
json_object_put (root );
129
- log_warn ("is_prime_request_malformed: json_object_object_get failed for 'number'" );
138
+ log_warn (
139
+ "is_prime_request_malformed: json_object_object_get failed for "
140
+ "'number'" );
130
141
return -5 ;
131
142
}
132
143
133
144
errno = 0 ;
134
145
int number_value = json_object_get_int (number );
135
146
if (errno != 0 ) {
136
147
json_object_put (root );
137
- log_warn ("is_prime_request_malformed: json_object_get_int64 failed for '%s'" , number );
148
+ log_warn (
149
+ "is_prime_request_malformed: json_object_get_int64 failed for '%s'" ,
150
+ number );
138
151
return -7 ;
139
152
}
140
153
141
154
json_object_put (root );
142
155
return number_value ;
143
156
}
144
157
145
- bool is_prime (int number )
158
+ bool is_prime (int number )
146
159
{
147
160
if (number <= 1 )
148
- return false; // less than 2 are not prime numbers
161
+ return false; // less than 2 are not prime numbers
149
162
for (int i = 2 ; i * i <= number ; i ++ ) {
150
163
if (number % i == 0 )
151
164
return false;
@@ -158,10 +171,13 @@ void is_prime_beget_response(struct is_prime_request* request)
158
171
assert (request != NULL );
159
172
160
173
if (request -> number < 0 ) {
161
- sprintf (request -> response , PRIME_RESPONSE_FORMAT , "\"ill-formed-request!!!\"" );
174
+ sprintf (
175
+ request -> response , PRIME_RESPONSE_FORMAT , "\"ill-formed-request!!!\"" );
162
176
return ;
163
177
}
164
- sprintf (request -> response , PRIME_RESPONSE_FORMAT , (request -> is_prime ? "true" : "false" ));
178
+ sprintf (request -> response ,
179
+ PRIME_RESPONSE_FORMAT ,
180
+ (request -> is_prime ? "true" : "false" ));
165
181
}
166
182
167
183
void is_prime_free (struct is_prime_request * * request )
0 commit comments