1 /* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */
3 typedef __SIZE_TYPE__
size_t;
4 typedef unsigned char Bufbyte
;
7 typedef struct lstream Lstream
;
8 typedef int Lisp_Object
;
9 extern Lisp_Object Qnil
;
11 TRUE_LIST_P (Lisp_Object object
)
13 return (( object
) == ( Qnil
)) ;
20 typedef enum lstream_buffering
22 LSTREAM_LINE_BUFFERED
,
26 Lstream_buffering buffering
;
27 unsigned char *out_buffer
;
28 size_t out_buffer_size
;
29 size_t out_buffer_ind
;
34 typedef struct printf_spec printf_spec
;
38 typedef union printf_arg printf_arg
;
49 extern void Lstream_fputc (struct lstream
*, int);
50 extern void Lstream_write (struct lstream
*, const Bufbyte
*, Bytecount
);
51 extern void Lstream_flush_out (struct lstream
*);
52 extern printf_spec_dynarr
*parse_doprnt_spec (Bufbyte
*, Bytecount
);
54 doprnt_1 (Lisp_Object stream
, const Bufbyte
*string
, Bytecount len
,
55 Charcount minlen
, Charcount maxlen
, int minus_flag
, int zero_flag
)
59 Lstream
*lstr
= (( struct lstream
*) ((void *)(((( stream
) & ((1UL << ((4 * 8 ) - 4 ) ) - 1UL) ) ) | 0x40000000 )) ) ;
65 if (minlen
> cclen
&& !minus_flag
)
68 int to_add
= minlen
- cclen
;
71 (( lstr
)->out_buffer_ind
>= ( lstr
)->out_buffer_size
? Lstream_fputc ( lstr
, pad
) : (( lstr
)->out_buffer
[( lstr
)->out_buffer_ind
++] = (unsigned char) ( pad
), ( lstr
)->byte_count
++, ( lstr
)->buffering
== LSTREAM_LINE_BUFFERED
&& ( lstr
)->out_buffer
[( lstr
)->out_buffer_ind
- 1] == '\n' ? Lstream_flush_out ( lstr
) : 0)) ;
76 len
= ( ((( maxlen
) <= ( cclen
)) ? ( maxlen
) : ( cclen
)) ) ;
77 Lstream_write (lstr
, string
, len
);
78 if (minlen
> cclen
&& minus_flag
)
80 int to_add
= minlen
- cclen
;
83 (( lstr
)->out_buffer_ind
>= ( lstr
)->out_buffer_size
? Lstream_fputc ( lstr
, pad
) : (( lstr
)->out_buffer
[( lstr
)->out_buffer_ind
++] = (unsigned char) ( pad
), ( lstr
)->byte_count
++, ( lstr
)->buffering
== LSTREAM_LINE_BUFFERED
&& ( lstr
)->out_buffer
[( lstr
)->out_buffer_ind
- 1] == '\n' ? Lstream_flush_out ( lstr
) : 0)) ;
89 emacs_doprnt_1 (Lisp_Object stream
, const Bufbyte
*format_nonreloc
,
90 Lisp_Object format_reloc
, Bytecount format_length
,
92 const Lisp_Object
*largs
)
95 printf_spec_dynarr
*specs
= 0;
96 format_nonreloc
= (( (( struct Lisp_String
*) ((void *)(((( format_reloc
) & ((1UL << ((4 * 8 ) - 4 ) ) - 1UL) ) ) | 0x40000000 )) ) )->_data
+ 0) ;
97 format_length
= (( (( struct Lisp_String
*) ((void *)(((( format_reloc
) & ((1UL << ((4 * 8 ) - 4 ) ) - 1UL) ) ) | 0x40000000 )) ) )->_size
) ;
98 specs
= parse_doprnt_spec (format_nonreloc
, format_length
);
99 for (i
= 0; i
< (( specs
)->cur
) ; i
++)
102 doprnt_1 (stream
, (Bufbyte
*) &ch
, 1, 0, -1, 0, 0);