/* mask 0x0010: 4 bytes, 04 00 00 00 observed */
ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
ce[i].u.info = malloc(strlen("OLCInfo event 0x0010 content 01234567")+1);
- sprintf(ce[i].u.info,"OLCInfo event 0x0010 content %02x%02x%02x%02x",
+ snprintf(ce[i].u.info,strlen("OLCInfo event 0x0010 content 01234567"),"OLCInfo event 0x0010 content %02x%02x%02x%02x",
curdata[curoff],
curdata[curoff+1],
curdata[curoff+2],
/* mask 0x0020: 6 bytes, 00 00 00 00 00 00 observed */
ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
ce[i].u.info = malloc(strlen("OLCInfo event 0x0020 content 0123456789ab")+1);
- sprintf(ce[i].u.info,"OLCInfo event 0x0020 content %02x%02x%02x%02x%02x%02x",
+ snprintf(ce[i].u.info,strlen("OLCInfo event 0x0020 content 0123456789ab"),"OLCInfo event 0x0020 content %02x%02x%02x%02x%02x%02x",
curdata[curoff],
curdata[curoff+1],
curdata[curoff+2],
/* mask 0x0040: 7 bytes, 01 01 00 00 00 00 00 observed */
ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
ce[i].u.info = malloc(strlen("OLCInfo event 0x0040 content 0123456789abcd")+1);
- sprintf(ce[i].u.info,"OLCInfo event 0x0040 content %02x%02x%02x%02x%02x%02x%02x",
+ snprintf(ce[i].u.info,strlen("OLCInfo event 0x0040 content 0123456789abcd"),"OLCInfo event 0x0040 content %02x%02x%02x%02x%02x%02x%02x",
curdata[curoff],
curdata[curoff+1],
curdata[curoff+2],
/* mask 0x0080: 4 bytes, 00 00 00 00 observed */
ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
ce[i].u.info = malloc(strlen("OLCInfo event 0x0080 content 01234567")+1);
- sprintf(ce[i].u.info,"OLCInfo event 0x0080 content %02x%02x%02x%02x",
+ snprintf(ce[i].u.info,strlen("OLCInfo event 0x0080 content 01234567"),"OLCInfo event 0x0080 content %02x%02x%02x%02x",
curdata[curoff],
curdata[curoff+1],
curdata[curoff+2],
/* mask 0x0100: 6 bytes, 00 00 00 00 00 00 (before focus) and 00 00 00 00 01 00 (on focus) observed */
ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
ce[i].u.info = malloc(strlen("OLCInfo event 0x0100 content 0123456789ab")+1);
- sprintf(ce[i].u.info,"OLCInfo event 0x0100 content %02x%02x%02x%02x%02x%02x",
+ snprintf(ce[i].u.info,strlen("OLCInfo event 0x0100 content 0123456789ab"),"OLCInfo event 0x0100 content %02x%02x%02x%02x%02x%02x",
curdata[curoff],
curdata[curoff+1],
curdata[curoff+2],
/* mask 0x0200: 7 bytes, 00 00 00 00 00 00 00 observed */
ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
ce[i].u.info = malloc(strlen("OLCInfo event 0x0200 content 0123456789abcd")+1);
- sprintf(ce[i].u.info,"OLCInfo event 0x0200 content %02x%02x%02x%02x%02x%02x%02x",
+ snprintf(ce[i].u.info,strlen("OLCInfo event 0x0200 content 0123456789abcd"),"OLCInfo event 0x0200 content %02x%02x%02x%02x%02x%02x%02x",
curdata[curoff],
curdata[curoff+1],
curdata[curoff+2],
/* mask 0x0400: 7 bytes, 00 00 00 00 00 00 00 observed */
ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
ce[i].u.info = malloc(strlen("OLCInfo event 0x0400 content 0123456789abcd")+1);
- sprintf(ce[i].u.info,"OLCInfo event 0x0400 content %02x%02x%02x%02x%02x%02x%02x",
+ snprintf(ce[i].u.info,strlen("OLCInfo event 0x0400 content 0123456789abcd"),"OLCInfo event 0x0400 content %02x%02x%02x%02x%02x%02x%02x",
curdata[curoff],
curdata[curoff+1],
curdata[curoff+2],
/* might be mask of focus points selected */
ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
ce[i].u.info = malloc(strlen("OLCInfo event 0x0800 content 0123456789abcdef")+1);
- sprintf(ce[i].u.info,"OLCInfo event 0x0800 content %02x%02x%02x%02x%02x%02x%02x%02x",
+ snprintf(ce[i].u.info,strlen("OLCInfo event 0x0800 content 0123456789abcdef"),"OLCInfo event 0x0800 content %02x%02x%02x%02x%02x%02x%02x%02x",
curdata[curoff],
curdata[curoff+1],
curdata[curoff+2],
/* mask 0x1000: 1 byte, 00 observed */
ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
ce[i].u.info = malloc(strlen("OLCInfo event 0x1000 content 01")+1);
- sprintf(ce[i].u.info,"OLCInfo event 0x1000 content %02x",
+ snprintf(ce[i].u.info,strlen("OLCInfo event 0x1000 content 01"),"OLCInfo event 0x1000 content %02x",
curdata[curoff]
);
curoff += 1;
/* handle more masks */
ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
ce[i].u.info = malloc(strlen("OLCInfo event mask 0123456789")+1);
- sprintf(ce[i].u.info, "OLCInfo event mask=%x", mask);
+ snprintf(ce[i].u.info, strlen("OLCInfo event mask 0123456789"), "OLCInfo event mask=%x", mask);
break;
}
case PTP_EC_CANON_EOS_CameraStatusChanged:
break;
case PTP_EC_CANON_EOS_BulbExposureTime:
ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
- ce[i].u.info = malloc(strlen("BulbExposureTime 123456789"));
- sprintf (ce[i].u.info, "BulbExposureTime %d", dtoh32a(curdata+8));
+ ce[i].u.info = malloc(strlen("BulbExposureTime 123456789")+1);
+ snprintf (ce[i].u.info, strlen("BulbExposureTime 123456789"), "BulbExposureTime %d", dtoh32a(curdata+8));
break;
default:
switch (type) {
#define XX(x) case PTP_EC_CANON_EOS_##x: \
ptp_debug (params, "event %d: unhandled EOS event "#x" (size %d)", i, size); \
- ce[i].u.info = malloc(strlen("unhandled EOS event "#x" (size 123456789)")); \
- sprintf (ce[i].u.info, "unhandled EOS event "#x" (size %d)", size); \
+ ce[i].u.info = malloc(strlen("unhandled EOS event "#x" (size 123456789)")+1); \
+ snprintf (ce[i].u.info, strlen("unhandled EOS event "#x" (size 123456789)"), "unhandled EOS event "#x" (size %d)", size); \
break;
XX(RequestGetEvent)
XX(ObjectRemoved)