int
client (char *args, char *service, char *response, int len_response, int debug)
{
int
client (char *args, char *service, char *response, int len_response, int debug)
{
- int sd, rc;
- char **ap, *arguments[MAXARGS];
- struct addrinfo hints, *res, *ai;
-
- ap = arguments;
- if (args != NULL && *args != 0) {
- ap = client_copyip (client_brkstring (client_getcpy (args), " ", "\n"),
- ap, MAXARGS);
- }
- if (ap == arguments) {
- *ap++ = client_getcpy ("localhost");
- *ap = NULL;
- }
-
- memset(&hints, 0, sizeof(hints));
+ int sd, rc;
+ char **ap, *arguments[MAXARGS];
+ struct addrinfo hints, *res, *ai;
+
+ ap = arguments;
+ if (args != NULL && *args != 0) {
+ ap = client_copyip (client_brkstring (client_getcpy (args), " ", "\n"),
+ ap, MAXARGS);
+ }
+ if (ap == arguments) {
+ *ap++ = client_getcpy ("localhost");
+ *ap = NULL;
+ }
+
+ memset(&hints, 0, sizeof(hints));
- rc = getaddrinfo(*ap, service, &hints, &res);
+ rc = getaddrinfo(*ap, service, &hints, &res);
- if (rc) {
- if (debug) {
- fprintf(stderr, "Lookup of \"%s\" failed: %s\n", *ap,
- gai_strerror(rc));
- }
- continue;
- }
+ if (rc) {
+ if (debug) {
+ fprintf(stderr, "Lookup of \"%s\" failed: %s\n", *ap,
+ gai_strerror(rc));
+ }
+ continue;
+ }
- rc = getnameinfo(ai->ai_addr, ai->ai_addrlen, address,
- sizeof(address), NULL, 0, NI_NUMERICHOST);
+ rc = getnameinfo(ai->ai_addr, ai->ai_addrlen, address,
+ sizeof(address), NULL, 0, NI_NUMERICHOST);
- fprintf(stderr, "Connecting to %s...\n",
- rc ? "unknown" : address);
- }
+ fprintf(stderr, "Connecting to %s...\n",
+ rc ? "unknown" : address);
+ }
- register int bi;
- register char c, *sp;
-
- sp = strg;
-
- for (bi = 0; bi < MAXARGS; bi++) {
- while (client_brkany (c = *sp, brksep))
- *sp++ = 0;
- if (!c || client_brkany (c, brkterm)) {
- *sp = 0;
- broken[bi] = 0;
- return broken;
+ register int bi;
+ register char c, *sp;
+
+ sp = strg;
+
+ for (bi = 0; bi < MAXARGS; bi++) {
+ while (client_brkany (c = *sp, brksep))
+ *sp++ = 0;
+ if (!c || client_brkany (c, brkterm)) {
+ *sp = 0;
+ broken[bi] = 0;
+ return broken;
+ }
+
+ broken[bi] = sp;
+ while ((c = *++sp) && !client_brkany (c, brksep) && !client_brkany (c, brkterm))
+ continue;