Diff for /mqtt/src/mqtt_subs.c between versions 1.2.2.6 and 1.2.2.11

version 1.2.2.6, 2012/05/08 11:45:57 version 1.2.2.11, 2012/06/01 13:13:40
Line 19  Usage(void) Line 19  Usage(void)
                 "=== %s@%s === Compiled: %s ===\n\n"                  "=== %s@%s === Compiled: %s ===\n\n"
                 " Syntax: mqtt_subs [options] <connect_to_broker[:port]> <ConnectID> [exec_script <value>]\n\n"                  " Syntax: mqtt_subs [options] <connect_to_broker[:port]> <ConnectID> [exec_script <value>]\n\n"
                 "\t-l <value2file>\t\tSave received values to file\n"                  "\t-l <value2file>\t\tSave received values to file\n"
                "\t-u\t\tUnsubscribe given topic(s)\n"                "\t-u\t\t\tUnsubscribe given topic(s)\n"
                 "\t-s <topic[|QoS]>\tSubscribe for this topic, if wish add different |QoS to topic\n"                  "\t-s <topic[|QoS]>\tSubscribe for this topic, if wish add different |QoS to topic\n"
                 "\t-d\t\t\tSend duplicate message\n\n"                  "\t-d\t\t\tSend duplicate message\n\n"
                 "\t-C\t\t\tNot clear before connect!\n"                  "\t-C\t\t\tNot clear before connect!\n"
Line 56  Subscribe(int sock, FILE *lf) Line 56  Subscribe(int sock, FILE *lf)
         u_short mid;          u_short mid;
         mqtt_subscr_t *sub;          mqtt_subscr_t *sub;
   
   #ifdef __NetBSD__
           srandom(getpid() ^ time(NULL));
   #else
         srandomdev();          srandomdev();
   #endif
         mid = random() % USHRT_MAX;          mid = random() % USHRT_MAX;
   
         printf(" > Execute SUBSCRIBE request #%d ... ", mid);          printf(" > Execute SUBSCRIBE request #%d ... ", mid);
Line 80  Unsubscribe(int sock) Line 84  Unsubscribe(int sock)
 {  {
         u_short mid;          u_short mid;
   
   #ifdef __NetBSD__
           srandom(getpid() ^ time(NULL));
   #else
         srandomdev();          srandomdev();
   #endif
         mid = random() % USHRT_MAX;          mid = random() % USHRT_MAX;
   
           printf(" > Execute UNSUBSCRIBE request #%d ... ", mid);
         if (mqtt_cli_Unsubscribe(args->cli, args->subscr, mid, args->Dup, MQTT_QOS_ACK)) {          if (mqtt_cli_Unsubscribe(args->cli, args->subscr, mid, args->Dup, MQTT_QOS_ACK)) {
                 printf("Error:: Unsubscribe #%d - %s\n", mqtt_GetErrno(), mqtt_GetError());                  printf("Error:: Unsubscribe #%d - %s\n", mqtt_GetErrno(), mqtt_GetError());
                 return -1;                  return -1;
        }        } else
                 printf("OK\n");
   
         return 0;          return 0;
 }  }
Line 103  main(int argc, char **argv) Line 113  main(int argc, char **argv)
         char *str, szStr[STRSIZ], szLogName[MAXPATHLEN] = { 0 };          char *str, szStr[STRSIZ], szLogName[MAXPATHLEN] = { 0 };
         FILE *lf;          FILE *lf;
   
        if (!(args = malloc(sizeof(struct tagArgs)))) {        if (!(args = io_malloc(sizeof(struct tagArgs)))) {
                 printf("Error:: in arguments #%d - %s\n", errno, strerror(errno));                  printf("Error:: in arguments #%d - %s\n", errno, strerror(errno));
                 return 1;                  return 1;
         } else          } else
                 memset(args, 0, sizeof(struct tagArgs));                  memset(args, 0, sizeof(struct tagArgs));
         if (!(args->subscr = mqtt_subAlloc(idx))) {          if (!(args->subscr = mqtt_subAlloc(idx))) {
                 printf("Error:: in subscribes array #%d - %s\n", mqtt_GetErrno(), mqtt_GetError());                  printf("Error:: in subscribes array #%d - %s\n", mqtt_GetErrno(), mqtt_GetError());
                free(args);                io_free(args);
                 return 1;                  return 1;
         } else          } else
                 args->free = cleanArgs;                  args->free = cleanArgs;
Line 118  main(int argc, char **argv) Line 128  main(int argc, char **argv)
         if (!(args->msg = mqtt_msgAlloc(USHRT_MAX))) {          if (!(args->msg = mqtt_msgAlloc(USHRT_MAX))) {
                 printf("Error:: in mqtt buffer #%d - %s\n", mqtt_GetErrno(), mqtt_GetError());                  printf("Error:: in mqtt buffer #%d - %s\n", mqtt_GetErrno(), mqtt_GetError());
                 args->free(args);                  args->free(args);
                free(args);                io_free(args);
                 return 1;                  return 1;
         }          }
   
Line 156  main(int argc, char **argv) Line 166  main(int argc, char **argv)
                                 if (!sub) {                                  if (!sub) {
                                         printf("Error:: #%d - %s\n", mqtt_GetErrno(), mqtt_GetError());                                          printf("Error:: #%d - %s\n", mqtt_GetErrno(), mqtt_GetError());
                                         args->free(args);                                          args->free(args);
                                        free(args);                                        io_free(args);
                                         return 1;                                          return 1;
                                 } else                                  } else
                                         sub += idx++;                                          sub += idx++;
Line 179  main(int argc, char **argv) Line 189  main(int argc, char **argv)
                                 if (args->QoS > MQTT_QOS_EXACTLY) {                                  if (args->QoS > MQTT_QOS_EXACTLY) {
                                         printf("Error:: invalid QoS level %d\n", args->QoS);                                          printf("Error:: invalid QoS level %d\n", args->QoS);
                                         args->free(args);                                          args->free(args);
                                        free(args);                                        io_free(args);
                                         return 1;                                          return 1;
                                 }                                  }
                                 break;                                  break;
Line 204  main(int argc, char **argv) Line 214  main(int argc, char **argv)
                         case 'h':                          case 'h':
                         default:                          default:
                                 args->free(args);                                  args->free(args);
                                free(args);                                io_free(args);
                                 Usage();                                  Usage();
                                 return 1;                                  return 1;
                 }                  }
Line 213  main(int argc, char **argv) Line 223  main(int argc, char **argv)
         if (argc < 2) {          if (argc < 2) {
                 printf("Error:: host for connect not found, connection id or topic not supplied!\n\n");                  printf("Error:: host for connect not found, connection id or topic not supplied!\n\n");
                 args->free(args);                  args->free(args);
                free(args);                io_free(args);
                 Usage();                  Usage();
                 return 1;                  return 1;
         } else {          } else {
Line 227  main(int argc, char **argv) Line 237  main(int argc, char **argv)
         if (!io_gethostbyname(*argv, port, &args->addr)) {          if (!io_gethostbyname(*argv, port, &args->addr)) {
                 printf("Error:: host not valid #%d - %s\n", io_GetErrno(), io_GetError());                  printf("Error:: host not valid #%d - %s\n", io_GetErrno(), io_GetError());
                 args->free(args);                  args->free(args);
                free(args);                io_free(args);
                 Usage();                  Usage();
                 return 1;                  return 1;
         }          }
Line 236  main(int argc, char **argv) Line 246  main(int argc, char **argv)
   
         if (!(args->cli = mqtt_cli_Open(&args->addr.sa, args->ka))) {          if (!(args->cli = mqtt_cli_Open(&args->addr.sa, args->ka))) {
                 args->free(args);                  args->free(args);
                free(args);                io_free(args);
                 return 2;                  return 2;
         }          }
   
Line 270  main(int argc, char **argv) Line 280  main(int argc, char **argv)
                 else                  else
                         lf = stdout;                          lf = stdout;
                 if (lf) {                  if (lf) {
                        ret = un ? Unsubscribe(args->cli->sock) : Subscribe(args->cli->sock, lf);                        ret = Subscribe(args->cli->sock, lf);
                         if (un)
                                 Unsubscribe(args->cli->sock);
                         fclose(lf);                          fclose(lf);
                 } else                  } else
                         printf("Error:: in subscribe file #%d - %s\n", errno, strerror(errno));                          printf("Error:: in subscribe file #%d - %s\n", errno, strerror(errno));
Line 280  main(int argc, char **argv) Line 292  main(int argc, char **argv)
         mqtt_cli_Close(&args->cli);          mqtt_cli_Close(&args->cli);
   
         args->free(args);          args->free(args);
        free(args);        io_free(args);
         return ret;          return ret;
 }  }

Removed from v.1.2.2.6  
changed lines
  Added in v.1.2.2.11


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>