char out_buf[4096] = {0,};
int out_ptr = 0;
int r;
+ char* sub1;
+ char* sub2;
snprintf(out_buf, sizeof(out_buf), "\n%s", MESSAGE_PREFIX_APPCMD_RETURN);
out_ptr = strlen(out_buf);
for(;;) {
+ sub1 = NULL;
+ sub2 = NULL;
memset(buf, 0, sizeof(buf));
r = read_line(fd_in, buf, sizeof(buf));
if (r == 0) {
}
D("pkgcmd output : %s\n", buf);
- char* sub1 = NULL;
- char* sub2 = NULL;
sub1 = strstr(buf, "pkgid [");
- if (sub1 != NULL) {
- sub1 = strstr(sub1, "[")+1;
- sub2 = strstr(sub1, "]");
- sub2[0] = '\0';
-
- snprintf(out_buf+out_ptr, sizeof(out_buf)-out_ptr, ":%s", sub1);
- out_ptr += strlen(sub1)+1;
+ if (sub1 == NULL) {
+ continue;
+ }
+ sub1 = strstr(sub1, "[")+1;
+ if (sub1 == NULL) {
+ continue;
}
+ sub2 = strstr(sub1, "]");
+ if (sub2 == NULL) {
+ continue;
+ }
+ sub2[0] = '\0';
+
+ snprintf(out_buf+out_ptr, sizeof(out_buf)-out_ptr, ":%s", sub1);
+ out_ptr += strlen(sub1)+1;
}
snprintf(out_buf+out_ptr, sizeof(out_buf)-out_ptr, "\n");