Mercurial > emacs
comparison src/process.c @ 76789:e3f8914e3f5e
(Fformat_network_address): Return nil when the
argument vector contains invalid values.
author | Juanma Barranquero <lekktu@gmail.com> |
---|---|
date | Thu, 29 Mar 2007 13:55:48 +0000 |
parents | c21bd0559ef9 |
children | fbe60d04cec2 |
comparison
equal
deleted
inserted
replaced
76788:e61b4b61e220 | 76789:e3f8914e3f5e |
---|---|
1293 } | 1293 } |
1294 else | 1294 else |
1295 return Qnil; | 1295 return Qnil; |
1296 | 1296 |
1297 for (i = 0; i < nargs; i++) | 1297 for (i = 0; i < nargs; i++) |
1298 args[i+1] = p->contents[i]; | 1298 { |
1299 EMACS_INT element = XINT (p->contents[i]); | |
1300 | |
1301 if (element < 0 || element > 65535) | |
1302 return Qnil; | |
1303 | |
1304 if (nargs <= 5 /* IPv4 */ | |
1305 && i < 4 /* host, not port */ | |
1306 && element > 255) | |
1307 return Qnil; | |
1308 | |
1309 args[i+1] = p->contents[i]; | |
1310 } | |
1311 | |
1299 return Fformat (nargs+1, args); | 1312 return Fformat (nargs+1, args); |
1300 } | 1313 } |
1301 | 1314 |
1302 if (CONSP (address)) | 1315 if (CONSP (address)) |
1303 { | 1316 { |
1407 if (p->raw_status_new) | 1420 if (p->raw_status_new) |
1408 update_status (p); | 1421 update_status (p); |
1409 symbol = p->status; | 1422 symbol = p->status; |
1410 if (CONSP (p->status)) | 1423 if (CONSP (p->status)) |
1411 symbol = XCAR (p->status); | 1424 symbol = XCAR (p->status); |
1412 | |
1413 | 1425 |
1414 if (EQ (symbol, Qsignal)) | 1426 if (EQ (symbol, Qsignal)) |
1415 { | 1427 { |
1416 Lisp_Object tem; | 1428 Lisp_Object tem; |
1417 tem = Fcar (Fcdr (p->status)); | 1429 tem = Fcar (Fcdr (p->status)); |