Sat Aug 7 04:53:56 2010 UTC ()
fix up 64-bit lint


(agc)
diff -r1.2 -r1.3 src/crypto/external/bsd/netpgp/dist/src/libmj/mj.c

cvs diff -r1.2 -r1.3 src/crypto/external/bsd/netpgp/dist/src/libmj/mj.c (expand / switch to unified diff)

--- src/crypto/external/bsd/netpgp/dist/src/libmj/mj.c 2010/08/07 04:50:35 1.2
+++ src/crypto/external/bsd/netpgp/dist/src/libmj/mj.c 2010/08/07 04:53:56 1.3
@@ -34,27 +34,27 @@ @@ -34,27 +34,27 @@
34 34
35#include "mj.h" 35#include "mj.h"
36#include "defs.h" 36#include "defs.h"
37 37
38/* save 'n' chars of 's' in malloc'd memory */ 38/* save 'n' chars of 's' in malloc'd memory */
39static char * 39static char *
40strnsave(const char *s, int n, unsigned esc) 40strnsave(const char *s, int n, unsigned esc)
41{ 41{
42 char *newc; 42 char *newc;
43 char *cp; 43 char *cp;
44 int i; 44 int i;
45 45
46 if (n < 0) { 46 if (n < 0) {
47 n = strlen(s); 47 n = (int)strlen(s);
48 } 48 }
49 NEWARRAY(char, cp, (n * 2) + 1, "strnsave", return NULL); 49 NEWARRAY(char, cp, (n * 2) + 1, "strnsave", return NULL);
50 if (esc) { 50 if (esc) {
51 newc = cp; 51 newc = cp;
52 for (i = 0 ; i < n ; i++) { 52 for (i = 0 ; i < n ; i++) {
53 if (*s == '\\') { 53 if (*s == '\\') {
54 *newc++ = *s++; 54 *newc++ = *s++;
55 } else if (*s == '"') { 55 } else if (*s == '"') {
56 *newc++ = '\\'; 56 *newc++ = '\\';
57 } 57 }
58 *newc++ = *s++; 58 *newc++ = *s++;
59 } 59 }
60 *newc = 0x0; 60 *newc = 0x0;
@@ -97,27 +97,27 @@ create_integer(mj_t *atom, int64_t i) @@ -97,27 +97,27 @@ create_integer(mj_t *atom, int64_t i)
97 char number[128]; 97 char number[128];
98 98
99 atom->type = MJ_NUMBER; 99 atom->type = MJ_NUMBER;
100 atom->c = snprintf(number, sizeof(number), "%" PRIi64, i); 100 atom->c = snprintf(number, sizeof(number), "%" PRIi64, i);
101 atom->value.s = strnsave(number, (int)atom->c, 0); 101 atom->value.s = strnsave(number, (int)atom->c, 0);
102} 102}
103 103
104/* create a string */ 104/* create a string */
105static void 105static void
106create_string(mj_t *atom, const char *s) 106create_string(mj_t *atom, const char *s)
107{ 107{
108 atom->type = MJ_STRING; 108 atom->type = MJ_STRING;
109 atom->value.s = strnsave(s, -1, 1); 109 atom->value.s = strnsave(s, -1, 1);
110 atom->c = strlen(atom->value.s); 110 atom->c = (unsigned)strlen(atom->value.s);
111} 111}
112 112
113#define MJ_OPEN_BRACKET (MJ_OBJECT + 1) /* 8 */ 113#define MJ_OPEN_BRACKET (MJ_OBJECT + 1) /* 8 */
114#define MJ_CLOSE_BRACKET (MJ_OPEN_BRACKET + 1) /* 9 */ 114#define MJ_CLOSE_BRACKET (MJ_OPEN_BRACKET + 1) /* 9 */
115#define MJ_OPEN_BRACE (MJ_CLOSE_BRACKET + 1) /* 10 */ 115#define MJ_OPEN_BRACE (MJ_CLOSE_BRACKET + 1) /* 10 */
116#define MJ_CLOSE_BRACE (MJ_OPEN_BRACE + 1) /* 11 */ 116#define MJ_CLOSE_BRACE (MJ_OPEN_BRACE + 1) /* 11 */
117#define MJ_COLON (MJ_CLOSE_BRACE + 1) /* 12 */ 117#define MJ_COLON (MJ_CLOSE_BRACE + 1) /* 12 */
118#define MJ_COMMA (MJ_COLON + 1) /* 13 */ 118#define MJ_COMMA (MJ_COLON + 1) /* 13 */
119 119
120/* return the token type, and start and finish locations in string */ 120/* return the token type, and start and finish locations in string */
121static int 121static int
122gettok(const char *s, int *from, int *to, int *tok) 122gettok(const char *s, int *from, int *to, int *tok)
123{ 123{
@@ -255,31 +255,31 @@ mj_asprint(char **buf, mj_t *atom) @@ -255,31 +255,31 @@ mj_asprint(char **buf, mj_t *atom)
255 (void) mj_snprint(*buf, (unsigned)(size + 1), atom); 255 (void) mj_snprint(*buf, (unsigned)(size + 1), atom);
256 return size + 1; 256 return size + 1;
257} 257}
258 258
259/* read into a JSON tree from a string */ 259/* read into a JSON tree from a string */
260int 260int
261mj_parse(mj_t *atom, const char *s, int *from, int *to, int *tok) 261mj_parse(mj_t *atom, const char *s, int *from, int *to, int *tok)
262{ 262{
263 int i; 263 int i;
264 264
265 switch(atom->type = *tok = gettok(s, from, to, tok)) { 265 switch(atom->type = *tok = gettok(s, from, to, tok)) {
266 case MJ_NUMBER: 266 case MJ_NUMBER:
267 atom->value.s = strnsave(&s[*from], *to - *from, 1); 267 atom->value.s = strnsave(&s[*from], *to - *from, 1);
268 atom->c = atom->size = strlen(atom->value.s); 268 atom->c = atom->size = (unsigned)strlen(atom->value.s);
269 return gettok(s, from, to, tok); 269 return gettok(s, from, to, tok);
270 case MJ_STRING: 270 case MJ_STRING:
271 atom->value.s = strnsave(&s[*from + 1], *to - *from - 2, 1); 271 atom->value.s = strnsave(&s[*from + 1], *to - *from - 2, 1);
272 atom->c = atom->size = strlen(atom->value.s); 272 atom->c = atom->size = (unsigned)strlen(atom->value.s);
273 return gettok(s, from, to, tok); 273 return gettok(s, from, to, tok);
274 case MJ_NULL: 274 case MJ_NULL:
275 case MJ_FALSE: 275 case MJ_FALSE:
276 case MJ_TRUE: 276 case MJ_TRUE:
277 atom->c = (unsigned)*to; 277 atom->c = (unsigned)*to;
278 return gettok(s, from, to, tok); 278 return gettok(s, from, to, tok);
279 case MJ_OPEN_BRACKET: 279 case MJ_OPEN_BRACKET:
280 mj_create(atom, "array"); 280 mj_create(atom, "array");
281 ALLOC(mj_t, atom->value.v, atom->size, atom->c, 10, 10, "mj_parse()", return 0); 281 ALLOC(mj_t, atom->value.v, atom->size, atom->c, 10, 10, "mj_parse()", return 0);
282 while (mj_parse(&atom->value.v[atom->c++], s, from, to, tok) >= 0 && *tok != MJ_CLOSE_BRACKET) { 282 while (mj_parse(&atom->value.v[atom->c++], s, from, to, tok) >= 0 && *tok != MJ_CLOSE_BRACKET) {
283 if (*tok != MJ_COMMA) { 283 if (*tok != MJ_COMMA) {
284 (void) fprintf(stderr, "1. expected comma (got %d) at '%s'\n", *tok, &s[*from]); 284 (void) fprintf(stderr, "1. expected comma (got %d) at '%s'\n", *tok, &s[*from]);
285 break; 285 break;
@@ -341,27 +341,27 @@ mj_deepcopy(mj_t *dst, mj_t *src) @@ -341,27 +341,27 @@ mj_deepcopy(mj_t *dst, mj_t *src)
341{ 341{
342 unsigned i; 342 unsigned i;
343 343
344 switch(src->type) { 344 switch(src->type) {
345 case MJ_FALSE: 345 case MJ_FALSE:
346 case MJ_TRUE: 346 case MJ_TRUE:
347 case MJ_NULL: 347 case MJ_NULL:
348 (void) memcpy(dst, src, sizeof(*dst)); 348 (void) memcpy(dst, src, sizeof(*dst));
349 return 1; 349 return 1;
350 case MJ_STRING: 350 case MJ_STRING:
351 case MJ_NUMBER: 351 case MJ_NUMBER:
352 (void) memcpy(dst, src, sizeof(*dst)); 352 (void) memcpy(dst, src, sizeof(*dst));
353 dst->value.s = strnsave(src->value.s, -1, 0); 353 dst->value.s = strnsave(src->value.s, -1, 0);
354 dst->c = dst->size = strlen(dst->value.s); 354 dst->c = dst->size = (unsigned)strlen(dst->value.s);
355 return 1; 355 return 1;
356 case MJ_ARRAY: 356 case MJ_ARRAY:
357 case MJ_OBJECT: 357 case MJ_OBJECT:
358 (void) memcpy(dst, src, sizeof(*dst)); 358 (void) memcpy(dst, src, sizeof(*dst));
359 NEWARRAY(mj_t, dst->value.v, dst->size, "mj_deepcopy()", return 0); 359 NEWARRAY(mj_t, dst->value.v, dst->size, "mj_deepcopy()", return 0);
360 for (i = 0 ; i < src->c ; i++) { 360 for (i = 0 ; i < src->c ; i++) {
361 if (!mj_deepcopy(&dst->value.v[i], &src->value.v[i])) { 361 if (!mj_deepcopy(&dst->value.v[i], &src->value.v[i])) {
362 return 0; 362 return 0;
363 } 363 }
364 } 364 }
365 return 1; 365 return 1;
366 default: 366 default:
367 (void) fprintf(stderr, "weird type '%d'\n", src->type); 367 (void) fprintf(stderr, "weird type '%d'\n", src->type);