| Index: fusl/src/network/res_mkquery.c
|
| diff --git a/fusl/src/network/res_mkquery.c b/fusl/src/network/res_mkquery.c
|
| index ec4568acb8166cbe7d6624ee6357cdd731e1c514..15f7d1d7f9109346b61e7c1eb8832e32c438b415 100644
|
| --- a/fusl/src/network/res_mkquery.c
|
| +++ b/fusl/src/network/res_mkquery.c
|
| @@ -3,42 +3,50 @@
|
| #include <time.h>
|
| #include "libc.h"
|
|
|
| -int __res_mkquery(int op, const char *dname, int class, int type,
|
| - const unsigned char *data, int datalen,
|
| - const unsigned char *newrr, unsigned char *buf, int buflen)
|
| -{
|
| - int id, i, j;
|
| - unsigned char q[280];
|
| - struct timespec ts;
|
| - size_t l = strnlen(dname, 255);
|
| - int n;
|
| +int __res_mkquery(int op,
|
| + const char* dname,
|
| + int class,
|
| + int type,
|
| + const unsigned char* data,
|
| + int datalen,
|
| + const unsigned char* newrr,
|
| + unsigned char* buf,
|
| + int buflen) {
|
| + int id, i, j;
|
| + unsigned char q[280];
|
| + struct timespec ts;
|
| + size_t l = strnlen(dname, 255);
|
| + int n;
|
|
|
| - if (l && dname[l-1]=='.') l--;
|
| - n = 17+l+!!l;
|
| - if (l>253 || buflen<n || op>15u || class>255u || type>255u)
|
| - return -1;
|
| + if (l && dname[l - 1] == '.')
|
| + l--;
|
| + n = 17 + l + !!l;
|
| + if (l > 253 || buflen < n || op > 15u || class > 255u || type > 255u)
|
| + return -1;
|
|
|
| - /* Construct query template - ID will be filled later */
|
| - memset(q, 0, n);
|
| - q[2] = op*8 + 1;
|
| - q[5] = 1;
|
| - memcpy((char *)q+13, dname, l);
|
| - for (i=13; q[i]; i=j+1) {
|
| - for (j=i; q[j] && q[j] != '.'; j++);
|
| - if (j-i-1u > 62u) return -1;
|
| - q[i-1] = j-i;
|
| - }
|
| - q[i+1] = type;
|
| - q[i+3] = class;
|
| + /* Construct query template - ID will be filled later */
|
| + memset(q, 0, n);
|
| + q[2] = op * 8 + 1;
|
| + q[5] = 1;
|
| + memcpy((char*)q + 13, dname, l);
|
| + for (i = 13; q[i]; i = j + 1) {
|
| + for (j = i; q[j] && q[j] != '.'; j++)
|
| + ;
|
| + if (j - i - 1u > 62u)
|
| + return -1;
|
| + q[i - 1] = j - i;
|
| + }
|
| + q[i + 1] = type;
|
| + q[i + 3] = class;
|
|
|
| - /* Make a reasonably unpredictable id */
|
| - clock_gettime(CLOCK_REALTIME, &ts);
|
| - id = ts.tv_nsec + ts.tv_nsec/65536UL & 0xffff;
|
| - q[0] = id/256;
|
| - q[1] = id;
|
| + /* Make a reasonably unpredictable id */
|
| + clock_gettime(CLOCK_REALTIME, &ts);
|
| + id = ts.tv_nsec + ts.tv_nsec / 65536UL & 0xffff;
|
| + q[0] = id / 256;
|
| + q[1] = id;
|
|
|
| - memcpy(buf, q, n);
|
| - return n;
|
| + memcpy(buf, q, n);
|
| + return n;
|
| }
|
|
|
| weak_alias(__res_mkquery, res_mkquery);
|
|
|