@@ -223,37 +223,38 @@ force, verb, and inquire flags should behave similar to the corresponding flags
223223off_t sf_shiftdim (sf_file in , sf_file out , int axis )
224224/*< shift grid after axis by one dimension forward >*/
225225{
226- int j , ni ;
226+ unsigned int j ;
227+ int ni ;
227228 float f ;
228229 off_t n3 ;
229230 char key1 [12 ], key2 [12 ], * val ;
230231
231232 n3 = 1 ;
232233 for (j = axis ; j < SF_MAX_DIM ; j ++ ) {
233- sprintf (key2 ,"n%d" ,(j + 1 )%10u );
234- sprintf (key1 ,"n%d" ,j );
234+ snprintf (key2 , 12 ,"n%d" ,(j + 1 )%10u );
235+ snprintf (key1 , 12 ,"n%d" ,j );
235236 if (!sf_histint (in ,key1 ,& ni )) {
236237 sf_putint (out ,key2 ,1 );
237238 break ;
238239 }
239240 sf_putint (out ,key2 ,ni );
240241 n3 *= ni ;
241242
242- sprintf (key2 ,"o%d" ,(j + 1 )%10u );
243- sprintf (key1 ,"o%d" ,j );
243+ snprintf (key2 , 12 ,"o%d" ,(j + 1 )%10u );
244+ snprintf (key1 , 12 ,"o%d" ,j );
244245 if (sf_histfloat (in ,key1 ,& f )) sf_putfloat (out ,key2 ,f );
245246
246- sprintf (key2 ,"d%d" ,(j + 1 )%10u );
247- sprintf (key1 ,"d%d" ,j );
247+ snprintf (key2 , 12 ,"d%d" ,(j + 1 )%10u );
248+ snprintf (key1 , 12 ,"d%d" ,j );
248249 if (sf_histfloat (in ,key1 ,& f )) sf_putfloat (out ,key2 ,f );
249250
250- sprintf (key2 ,"label%d" ,(j + 1 )%10u );
251- sprintf (key1 ,"label%d" ,j );
251+ snprintf (key2 , 12 ,"label%d" ,(j + 1 )%10u );
252+ snprintf (key1 , 12 ,"label%d" ,j );
252253 if (NULL != (val = sf_histstring (in ,key1 )))
253254 sf_putstring (out ,key2 ,val );
254255
255- sprintf (key2 ,"unit%d" ,(j + 1 )%10u );
256- sprintf (key1 ,"unit%d" ,j );
256+ snprintf (key2 , 12 ,"unit%d" ,(j + 1 )%10u );
257+ snprintf (key1 , 12 ,"unit%d" ,j );
257258 if (NULL != (val = sf_histstring (in ,key1 )))
258259 sf_putstring (out ,key2 ,val );
259260 }
@@ -264,37 +265,38 @@ off_t sf_shiftdim(sf_file in, sf_file out, int axis)
264265off_t sf_shiftdim2 (sf_file in , sf_file out , int axis )
265266/*< shift grid after axis by two dimension forward >*/
266267{
267- int j , ni ;
268+ unsigned int j ;
269+ int ni ;
268270 float f ;
269271 off_t n3 ;
270272 char key1 [7 ], key2 [7 ], * val ;
271273
272274 n3 = 1 ;
273275 for (j = axis ; j < SF_MAX_DIM ; j ++ ) {
274- sprintf (key2 ,"n%d" ,(j + 2 )%100u );
275- sprintf (key1 ,"n%d" ,j );
276+ snprintf (key2 , 7 ,"n%d" ,(j + 2 )%100u );
277+ snprintf (key1 , 7 ,"n%d" ,j );
276278 if (!sf_histint (in ,key1 ,& ni )) {
277279 sf_putint (out ,key2 ,1 );
278280 break ;
279281 }
280282 sf_putint (out ,key2 ,ni );
281283 n3 *= ni ;
282284
283- sprintf (key2 ,"o%d" ,(j + 2 )%100u );
284- sprintf (key1 ,"o%d" ,j );
285+ snprintf (key2 , 7 ,"o%d" ,(j + 2 )%100u );
286+ snprintf (key1 , 7 ,"o%d" ,j );
285287 if (sf_histfloat (in ,key1 ,& f )) sf_putfloat (out ,key2 ,f );
286288
287- sprintf (key2 ,"d%d" ,(j + 2 )%100u );
288- sprintf (key1 ,"d%d" ,j );
289+ snprintf (key2 , 7 ,"d%d" ,(j + 2 )%100u );
290+ snprintf (key1 , 7 ,"d%d" ,j );
289291 if (sf_histfloat (in ,key1 ,& f )) sf_putfloat (out ,key2 ,f );
290292
291- sprintf (key2 ,"label%d" ,(j + 2 )%10u );
292- sprintf (key1 ,"label%d" ,j );
293+ snprintf (key2 , 7 ,"label%d" ,(j + 2 )%10u );
294+ snprintf (key1 , 7 ,"label%d" ,j );
293295 if (NULL != (val = sf_histstring (in ,key1 )))
294296 sf_putstring (out ,key2 ,val );
295297
296- sprintf (key2 ,"unit%d" ,(j + 2 )%100u );
297- sprintf (key1 ,"unit%d" ,j );
298+ snprintf (key2 , 7 ,"unit%d" ,(j + 2 )%100u );
299+ snprintf (key1 , 7 ,"unit%d" ,j );
298300 if (NULL != (val = sf_histstring (in ,key1 )))
299301 sf_putstring (out ,key2 ,val );
300302 }
@@ -305,38 +307,39 @@ off_t sf_shiftdim2(sf_file in, sf_file out, int axis)
305307off_t sf_shiftdimn (sf_file in , sf_file out , int axis , int n )
306308/*< shift grid after axis by n dimension forward >*/
307309{
308- int j , ni ;
310+ unsigned int j ;
311+ int ni ;
309312 float f ;
310313 off_t n3 ;
311314 char key1 [7 ], key2 [7 ], * val ;
312315
313316 n3 = 1 ;
314317 for (j = axis ; j < SF_MAX_DIM ; j ++ ) {
315318 if ((j + n ) >= SF_MAX_DIM ) sf_error ("Dimension shift is out of bounds" );
316- sprintf (key2 ,"n%d" ,j + n );
317- sprintf (key1 ,"n%d" ,j );
319+ snprintf (key2 , 7 ,"n%d" ,j + n );
320+ snprintf (key1 , 7 ,"n%d" ,j );
318321 if (!sf_histint (in ,key1 ,& ni )) {
319322 sf_putint (out ,key2 ,1 );
320323 break ;
321324 }
322325 sf_putint (out ,key2 ,ni );
323326 n3 *= ni ;
324327
325- sprintf (key2 ,"o%d" ,j + n );
326- sprintf (key1 ,"o%d" ,j );
328+ snprintf (key2 , 7 ,"o%d" ,j + n );
329+ snprintf (key1 , 7 ,"o%d" ,j );
327330 if (sf_histfloat (in ,key1 ,& f )) sf_putfloat (out ,key2 ,f );
328331
329- sprintf (key2 ,"d%d" ,j + n );
330- sprintf (key1 ,"d%d" ,j );
332+ snprintf (key2 , 7 ,"d%d" ,j + n );
333+ snprintf (key1 , 7 ,"d%d" ,j );
331334 if (sf_histfloat (in ,key1 ,& f )) sf_putfloat (out ,key2 ,f );
332335
333- sprintf (key2 ,"label%d" ,j + n );
334- sprintf (key1 ,"label%d" ,j );
336+ snprintf (key2 , 7 ,"label%d" ,j + n );
337+ snprintf (key1 , 7 ,"label%d" ,j );
335338 if (NULL != (val = sf_histstring (in ,key1 )))
336339 sf_putstring (out ,key2 ,val );
337340
338- sprintf (key2 ,"unit%d" ,j + n );
339- sprintf (key1 ,"unit%d" ,j );
341+ snprintf (key2 , 7 ,"unit%d" ,j + n );
342+ snprintf (key1 , 7 ,"unit%d" ,j );
340343 if (NULL != (val = sf_histstring (in ,key1 )))
341344 sf_putstring (out ,key2 ,val );
342345 }
@@ -347,37 +350,38 @@ off_t sf_shiftdimn(sf_file in, sf_file out, int axis, int n)
347350off_t sf_unshiftdim (sf_file in , sf_file out , int axis )
348351/*< shift grid after axis by one dimension backward >*/
349352{
350- int j , ni ;
353+ unsigned int j ;
354+ int ni ;
351355 off_t n3 ;
352356 float f ;
353357 char key1 [7 ], key2 [7 ], * val ;
354358
355359 n3 = 1 ;
356360 for (j = axis ; j < SF_MAX_DIM ; j ++ ) {
357- sprintf (key2 ,"n%d" ,j );
358- sprintf (key1 ,"n%d" ,(j + 1 )%10u );
361+ snprintf (key2 , 7 ,"n%d" ,j );
362+ snprintf (key1 , 7 ,"n%d" ,(j + 1 )%10u );
359363 if (!sf_histint (in ,key1 ,& ni )) {
360364 sf_putint (out ,key2 ,1 );
361365 break ;
362366 }
363367 sf_putint (out ,key2 ,ni );
364368 n3 *= ni ;
365369
366- sprintf (key2 ,"o%d" ,j );
367- sprintf (key1 ,"o%d" ,(j + 1 )%10u );
370+ snprintf (key2 , 7 ,"o%d" ,j );
371+ snprintf (key1 , 7 ,"o%d" ,(j + 1 )%10u );
368372 if (sf_histfloat (in ,key1 ,& f )) sf_putfloat (out ,key2 ,f );
369373
370- sprintf (key2 ,"d%d" ,j );
371- sprintf (key1 ,"d%d" ,(j + 1 )%10u );
374+ snprintf (key2 , 7 ,"d%d" ,j );
375+ snprintf (key1 , 7 ,"d%d" ,(j + 1 )%10u );
372376 if (sf_histfloat (in ,key1 ,& f )) sf_putfloat (out ,key2 ,f );
373377
374- sprintf (key2 ,"label%d" ,j );
375- sprintf (key1 ,"label%d" ,(j + 1 )%10u );
378+ snprintf (key2 , 7 ,"label%d" ,j );
379+ snprintf (key1 , 7 ,"label%d" ,(j + 1 )%10u );
376380 if (NULL != (val = sf_histstring (in ,key1 )))
377381 sf_putstring (out ,key2 ,val );
378382
379- sprintf (key2 ,"unit%d" ,j );
380- sprintf (key1 ,"unit%d" ,(j + 1 )%10u );
383+ snprintf (key2 , 7 ,"unit%d" ,j );
384+ snprintf (key1 , 7 ,"unit%d" ,(j + 1 )%10u );
381385 if (NULL != (val = sf_histstring (in ,key1 )))
382386 sf_putstring (out ,key2 ,val );
383387 }
@@ -388,15 +392,16 @@ off_t sf_unshiftdim(sf_file in, sf_file out, int axis)
388392off_t sf_unshiftdim2 (sf_file in , sf_file out , int axis )
389393/*< shift grid after axis by two dimension backward >*/
390394{
391- int j , ni ;
395+ unsigned int j ;
396+ int ni ;
392397 off_t n3 ;
393398 float f ;
394399 char key1 [7 ], key2 [7 ], * val ;
395400
396401 n3 = 1 ;
397402 for (j = axis ; j < SF_MAX_DIM ; j ++ ) {
398- sprintf (key2 ,"n%d" ,j );
399- sprintf (key1 ,"n%d" ,(j + 2 )%10u );
403+ snprintf (key2 , 7 ,"n%d" ,j );
404+ snprintf (key1 , 7 ,"n%d" ,(j + 2 )%10u );
400405 if (!sf_histint (in ,key1 ,& ni )) {
401406 sf_putint (out ,key2 ,1 );
402407 sprintf (key2 ,"n%d" ,(j + 1 )%10u );
@@ -406,21 +411,21 @@ off_t sf_unshiftdim2(sf_file in, sf_file out, int axis)
406411 sf_putint (out ,key2 ,ni );
407412 n3 *= ni ;
408413
409- sprintf (key2 ,"o%d" ,j );
410- sprintf (key1 ,"o%d" ,(j + 2 )%10u );
414+ snprintf (key2 , 7 ,"o%d" ,j );
415+ snprintf (key1 , 7 ,"o%d" ,(j + 2 )%10u );
411416 if (sf_histfloat (in ,key1 ,& f )) sf_putfloat (out ,key2 ,f );
412417
413- sprintf (key2 ,"d%d" ,j );
414- sprintf (key1 ,"d%d" ,(j + 2 )%10u );
418+ snprintf (key2 , 7 ,"d%d" ,j );
419+ snprintf (key1 , 7 ,"d%d" ,(j + 2 )%10u );
415420 if (sf_histfloat (in ,key1 ,& f )) sf_putfloat (out ,key2 ,f );
416421
417- sprintf (key2 ,"label%d" ,j );
418- sprintf (key1 ,"label%d" ,(j + 2 )%10u );
422+ snprintf (key2 , 7 ,"label%d" ,j );
423+ snprintf (key1 , 7 ,"label%d" ,(j + 2 )%10u );
419424 if (NULL != (val = sf_histstring (in ,key1 )))
420425 sf_putstring (out ,key2 ,val );
421426
422- sprintf (key2 ,"unit%d" ,j );
423- sprintf (key1 ,"unit%d" ,(j + 2 )%10u );
427+ snprintf (key2 , 7 ,"unit%d" ,j );
428+ snprintf (key1 , 7 ,"unit%d" ,(j + 2 )%10u );
424429 if (NULL != (val = sf_histstring (in ,key1 )))
425430 sf_putstring (out ,key2 ,val );
426431 }
@@ -429,4 +434,3 @@ off_t sf_unshiftdim2(sf_file in, sf_file out, int axis)
429434}
430435
431436
432- /* $Id$ */
0 commit comments