@@ -478,9 +478,9 @@ bool dcm_element_set_value_string_multi(DcmError **error,
478478
479479 element -> vm = vm ;
480480
481- size_t length = 0 ;
481+ uint32_t length = 0 ;
482482 for (uint32_t i = 0 ; i < vm ; i ++ ) {
483- length += strlen (values [i ]);
483+ length += ( uint32_t ) strlen (values [i ]);
484484 }
485485 if (vm > 1 ) {
486486 // add the separator characters
@@ -576,7 +576,7 @@ bool dcm_element_set_value_string(DcmError **error,
576576 }
577577
578578 element -> vm = 1 ;
579- element_set_length (element , strlen (value ));
579+ element_set_length (element , ( uint32_t ) strlen (value ));
580580
581581 if (!dcm_element_validate (error , element )) {
582582 return false;
@@ -598,7 +598,7 @@ static int64_t value_to_int64(DcmVR vr, int *value)
598598{
599599 uint64_t result = 0 ;
600600
601- #define PEEK (TYPE ) result = *((TYPE *) value)
601+ #define PEEK (TYPE ) result = (uint64_t) *((TYPE *) value)
602602 DCM_SWITCH_NUMERIC (vr , PEEK );
603603#undef PEEK
604604
@@ -610,7 +610,7 @@ static int64_t value_to_int64(DcmVR vr, int *value)
610610static void int64_to_value (DcmVR vr , int * result , int64_t value )
611611{
612612 * result = 0 ;
613- #define POKE (TYPE ) *((TYPE *) result) = value;
613+ #define POKE (TYPE ) *((TYPE *) result) = (TYPE) value;
614614 DCM_SWITCH_NUMERIC (vr , POKE );
615615#undef POKE
616616}
@@ -697,7 +697,7 @@ bool dcm_element_set_value_integer(DcmError **error,
697697 int * element_value = (int * ) & element -> value .single .sl ;
698698 int64_to_value (element -> vr , element_value , value );
699699 element -> vm = 1 ;
700- element_set_length (element , dcm_dict_vr_size (element -> vr ));
700+ element_set_length (element , ( uint32_t ) dcm_dict_vr_size (element -> vr ));
701701
702702 if (!dcm_element_validate (error , element )) {
703703 return false;
@@ -741,7 +741,7 @@ bool dcm_element_set_value_numeric_multi(DcmError **error,
741741 }
742742
743743 element -> vm = vm ;
744- element_set_length (element , size_in_bytes );
744+ element_set_length (element , ( uint32_t ) size_in_bytes );
745745
746746 if (!dcm_element_validate (error , element )) {
747747 return false;
@@ -762,7 +762,7 @@ static double value_to_double(DcmVR vr, double *value)
762762{
763763 double result = 0.0 ;
764764
765- #define PEEK (TYPE ) result = *((TYPE *) value)
765+ #define PEEK (TYPE ) result = (double) *((TYPE *) value)
766766 DCM_SWITCH_NUMERIC (vr , PEEK );
767767#undef PEEK
768768
@@ -774,7 +774,7 @@ static double value_to_double(DcmVR vr, double *value)
774774static void double_to_value (DcmVR vr , double * result , double value )
775775{
776776 * result = 0.0 ;
777- #define POKE (TYPE ) *((TYPE *) result) = value;
777+ #define POKE (TYPE ) *((TYPE *) result) = (TYPE) value;
778778 DCM_SWITCH_NUMERIC (vr , POKE );
779779#undef POKE
780780}
@@ -834,7 +834,7 @@ bool dcm_element_set_value_decimal(DcmError **error,
834834 double * element_value = (double * ) & element -> value .single .fd ;
835835 double_to_value (element -> vr , element_value , value );
836836 element -> vm = 1 ;
837- element_set_length (element , dcm_dict_vr_size (element -> vr ));
837+ element_set_length (element , ( uint32_t ) dcm_dict_vr_size (element -> vr ));
838838
839839 if (!dcm_element_validate (error , element )) {
840840 return false;
@@ -948,7 +948,7 @@ bool dcm_element_set_value(DcmError **error,
948948 if (!dcm_element_set_value_numeric_multi (error ,
949949 element ,
950950 (int * ) value ,
951- length / size ,
951+ length / ( uint32_t ) size ,
952952 steal )) {
953953 return false;
954954 }
@@ -1284,7 +1284,7 @@ char *dcm_element_value_to_string(const DcmElement *element)
12841284 (void ) dcm_element_get_value_integer (NULL , element , 0 , & grp );
12851285 (void ) dcm_element_get_value_integer (NULL , element , 1 , & ele );
12861286
1287- uint32_t tag = grp << 16 | ele ;
1287+ uint32_t tag = ( uint32_t ) grp << 16 | ( uint32_t ) ele ;
12881288
12891289 const char * keyword = dcm_dict_keyword_from_tag (tag );
12901290
0 commit comments