+ if (opts.regex) {
+ char *channel;
+ unsigned int num;
+ if (scan_ch_and_num(opts.regex, &channel, &num)) {
+ retval = EXIT_FAILURE;
+ break;
+ }
+
+ if (num < 2) {
+ ERR("Subbuffer count should be greater or equal to 2");
+ retval = EXIT_FAILURE;
+ break;
+ }
+ if (ustcmd_set_subbuf_num(trace, channel, num, *pidit)) {
+ ERR("error while trying to set the number of subbuffers with PID %u\n",
+ (unsigned int) *pidit);
+ retval = EXIT_FAILURE;
+ }
+ }
+ break;
+
+ case GET_SUBBUF_SIZE:
+ result = ustcmd_get_subbuf_size(trace, opts.regex, *pidit);
+ if (result == -1) {
+ ERR("error while trying to get_subuf_size with PID %u\n", (unsigned int) *pidit);
+ retval = EXIT_FAILURE;
+ break;
+ }
+
+ printf("the size of subbufers is %d\n", result);
+ break;
+
+ case GET_SUBBUF_NUM:
+ result = ustcmd_get_subbuf_num(trace, opts.regex, *pidit);
+ if (result == -1) {
+ ERR("error while trying to get_subuf_num with PID %u\n", (unsigned int) *pidit);
+ retval = EXIT_FAILURE;
+ break;
+ }
+
+ printf("the number of subbufers is %d\n", result);