- fwrite ( &shortLgr,(size_t)2 ,(size_t)1 ,fp);
- fwrite ( &z, (size_t)2 ,(size_t)1 ,fp);
- } else {
- fwrite (vr.c_str(),(size_t)2 ,(size_t)1 ,fp);
-
-// TODO : better we set SQ length to ffffffff
-// and write a Sequence Delimitor Item at the end of the Sequence!
- if ( (vr == "OB") || (vr == "OW") || (vr == "SQ") )
+ binary_write(*fp, shortLgr);
+ binary_write(*fp, z);
+ }
+ else
+ {
+ binary_write(*fp, vr);
+ assert( vr.size() == 2 );
+
+ if ( (vr == "OB") || (vr == "OW") || (vr == "SQ") || (vr == "UN") )
+ {
+ binary_write(*fp, z);
+ if (vr == "SQ")
+ {
+ // we set SQ length to ffffffff
+ // and we shall write a Sequence Delimitor Item
+ // at the end of the Sequence!
+ binary_write(*fp, ffff);
+ }
+ else
+ {
+ binary_write(*fp, lgr);
+ }
+ }
+ else