@@ -38,96 +38,70 @@ ssize_t iio_snprintf_device_xml(char *ptr, ssize_t len,
3838 ret = iio_snprintf (ptr , len , "<device id=\"%s\"" , dev -> id );
3939 if (ret < 0 )
4040 return ret ;
41- if (ptr ) {
42- ptr += ret ;
43- len -= ret ;
44- }
45- alen += ret ;
4641
42+ iio_update_xml_indexes (ret , & ptr , & len , & alen );
4743 if (dev -> name ) {
4844 ret = iio_snprintf (ptr , len , " name=\"%s\"" , dev -> name );
4945 if (ret < 0 )
5046 return ret ;
51- if (ptr ) {
52- ptr += ret ;
53- len -= ret ;
54- }
55- alen += ret ;
47+
48+ iio_update_xml_indexes (ret , & ptr , & len , & alen );
5649 }
5750
5851 if (dev -> label ) {
5952 ret = iio_snprintf (ptr , len , " label=\"%s\"" , dev -> label );
6053 if (ret < 0 )
6154 return ret ;
62- if (ptr ) {
63- ptr += ret ;
64- len -= ret ;
65- }
66- alen += ret ;
55+
56+ iio_update_xml_indexes (ret , & ptr , & len , & alen );
6757 }
6858
6959 ret = iio_snprintf (ptr , len , " >" );
7060 if (ret < 0 )
7161 return ret ;
72- if (ptr ) {
73- ptr += ret ;
74- len -= ret ;
75- }
76- alen += ret ;
62+
63+ iio_update_xml_indexes (ret , & ptr , & len , & alen );
7764
7865 for (i = 0 ; i < dev -> nb_channels ; i ++ ) {
7966 ret = iio_snprintf_channel_xml (ptr , len , dev -> channels [i ]);
8067 if (ret < 0 )
8168 return ret ;
82- if (ptr ) {
83- ptr += ret ;
84- len -= ret ;
85- }
86- alen += ret ;
69+
70+ iio_update_xml_indexes (ret , & ptr , & len , & alen );
8771 }
8872
8973 for (i = 0 ; i < dev -> attrs .num ; i ++ ) {
9074 ret = iio_snprintf_xml_attr (ptr , len , dev -> attrs .names [i ],
9175 IIO_ATTR_TYPE_DEVICE );
9276 if (ret < 0 )
9377 return ret ;
94- if (ptr ) {
95- ptr += ret ;
96- len -= ret ;
97- }
98- alen += ret ;
78+
79+ iio_update_xml_indexes (ret , & ptr , & len , & alen );
9980 }
10081
10182 for (i = 0 ; i < dev -> buffer_attrs .num ; i ++ ) {
10283 ret = iio_snprintf_xml_attr (ptr , len , dev -> buffer_attrs .names [i ],
10384 IIO_ATTR_TYPE_BUFFER );
10485 if (ret < 0 )
10586 return ret ;
106- if (ptr ) {
107- ptr += ret ;
108- len -= ret ;
109- }
110- alen += ret ;
87+
88+ iio_update_xml_indexes (ret , & ptr , & len , & alen );
11189 }
11290
11391 for (i = 0 ; i < dev -> debug_attrs .num ; i ++ ) {
11492 ret = iio_snprintf_xml_attr (ptr , len , dev -> debug_attrs .names [i ],
11593 IIO_ATTR_TYPE_DEBUG );
11694 if (ret < 0 )
11795 return ret ;
118- if (ptr ) {
119- ptr += ret ;
120- len -= ret ;
121- }
122- alen += ret ;
96+
97+ iio_update_xml_indexes (ret , & ptr , & len , & alen );
12398 }
12499
125100 ret = iio_snprintf (ptr , len , "</device>" );
126101 if (ret < 0 )
127102 return ret ;
128- alen += ret ;
129103
130- return alen ;
104+ return alen + ret ;
131105}
132106
133107int add_iio_dev_attr (struct iio_dev_attrs * attrs , const char * attr ,
0 commit comments