MMCamAttrsInfo *infoW = NULL;
MMCamAttrsInfo *infoH = NULL;
int i = 0;
- char nameFps[10] = {0,};
+ char nameFps[16] = {0,};
bool valid_check = false;
type_int_array *fps_array;
/* _mmcam_dbg_log("width :%d, height : %d\n", infoW->int_array.array[i], infoH->int_array.array[i]); */
if (infoW->int_array.array[i] == width && infoH->int_array.array[i] == height) {
valid_check = true;
- snprintf(nameFps, 10, "FPS%d", i);
+ snprintf(nameFps, sizeof(nameFps), "FPS%d", i);
_mmcam_dbg_log("nameFps : %s!!!", nameFps);
break;
}
/*13. EXIF_TAG_DATE_TIME_DIGITIZED*/
{
- unsigned char *b;
+ gchar *b = NULL;
time_t t;
struct tm tm;
- b = malloc(20 * sizeof(unsigned char));
- if (b == NULL) {
- _mmcam_dbg_err("failed to alloc b");
- ret = MM_ERROR_CAMCORDER_LOW_MEMORY;
- EXIF_SET_ERR(ret, EXIF_TAG_DATE_TIME);
- }
-
- memset(b, '\0', 20);
-
t = time(NULL);
tzset();
localtime_r(&t, &tm);
- snprintf((char *)b, 20, "%04i:%02i:%02i %02i:%02i:%02i",
+ b = g_strdup_printf("%04i:%02i:%02i %02i:%02i:%02i",
tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday,
tm.tm_hour, tm.tm_min, tm.tm_sec);
ret = mm_exif_set_add_entry(ed, EXIF_IFD_0, EXIF_TAG_DATE_TIME, EXIF_FORMAT_ASCII, 20, (const char *)b);
if (ret != MM_ERROR_NONE) {
if (ret == (int)MM_ERROR_CAMCORDER_LOW_MEMORY)
- free(b);
+ g_free(b);
EXIF_SET_ERR(ret, EXIF_TAG_DATE_TIME);
}
ret = mm_exif_set_add_entry(ed, EXIF_IFD_EXIF, EXIF_TAG_DATE_TIME_ORIGINAL, EXIF_FORMAT_ASCII, 20, (const char *)b);
if (ret != MM_ERROR_NONE) {
if (ret == (int)MM_ERROR_CAMCORDER_LOW_MEMORY)
- free(b);
+ g_free(b);
EXIF_SET_ERR(ret, EXIF_TAG_DATE_TIME_ORIGINAL);
}
ret = mm_exif_set_add_entry(ed, EXIF_IFD_EXIF, EXIF_TAG_DATE_TIME_DIGITIZED, EXIF_FORMAT_ASCII, 20, (const char *)b);
if (ret != MM_ERROR_NONE) {
if (ret == (int)MM_ERROR_CAMCORDER_LOW_MEMORY)
- free(b);
+ g_free(b);
EXIF_SET_ERR(ret, EXIF_TAG_DATE_TIME_DIGITIZED);
}
- free(b);
+ g_free(b);
}
/*5. EXIF_TAG_MAKE */
void _mmcamcorder_write_Latitude(FILE *f, int value)
{
- char s_latitude[9];
+ char s_latitude[16];
int l_decimal = 0;
int l_below_decimal = 0;
l_decimal = value / 10000;
if (value < 0) {
if (l_decimal == 0)
- snprintf(s_latitude, 5, "-%.2d.", l_decimal);
+ snprintf(s_latitude, sizeof(s_latitude), "-%.2d.", l_decimal);
else
- snprintf(s_latitude, 5, "%.2d.", l_decimal);
+ snprintf(s_latitude, sizeof(s_latitude), "%.2d.", l_decimal);
} else {
- snprintf(s_latitude, 5, "+%.2d.", l_decimal);
+ snprintf(s_latitude, sizeof(s_latitude), "+%.2d.", l_decimal);
}
l_below_decimal = value - (l_decimal * 10000);
if (l_below_decimal < 0)
l_below_decimal = -l_below_decimal;
- snprintf(&s_latitude[4], 5, "%.4d", l_below_decimal);
+ snprintf(&s_latitude[4], sizeof(s_latitude) - 4, "%.4d", l_below_decimal);
write_tag(f, s_latitude);
}
void _mmcamcorder_write_Longitude(FILE *f, int value)
{
- char s_longitude[10];
+ char s_longitude[24];
int l_decimal = 0;
int l_below_decimal = 0;
l_decimal = value / 10000;
if (value < 0) {
if (l_decimal == 0)
- snprintf(s_longitude, 6, "-%.3d.", l_decimal);
+ snprintf(s_longitude, sizeof(s_longitude), "-%.3d.", l_decimal);
else
- snprintf(s_longitude, 6, "%.3d.", l_decimal);
+ snprintf(s_longitude, sizeof(s_longitude), "%.3d.", l_decimal);
} else {
- snprintf(s_longitude, 6, "+%.3d.", l_decimal);
+ snprintf(s_longitude, sizeof(s_longitude), "+%.3d.", l_decimal);
}
l_below_decimal = value - (l_decimal * 10000);
if (l_below_decimal < 0)
l_below_decimal = -l_below_decimal;
- snprintf(&s_longitude[5], 5, "%.4d", l_below_decimal);
+ snprintf(&s_longitude[5], sizeof(s_longitude) - 5, "%.4d", l_below_decimal);
write_tag(f, s_longitude);
}