ADT
ast-experimental
pthread-emulation
Last change
on this file since 80d16f8 was e6cfa8ff, checked in by Thierry Delisle <tdelisle@…>, 6 years ago |
Fixed use after delete bug and regenerated stale tests
|
-
Property mode
set to
100644
|
File size:
2.4 KB
|
Rev | Line | |
---|
[58b6d1b] | 1 | //// Cfo rall Ver sion
|
---|
| 2 | 1.0 .0 C opyr ight (C)
|
---|
| 3 | 201 7 Un iver sity of
|
---|
| 4 | Wate rloo //// The con
|
---|
| 5 | tent s of thi s fi le a
|
---|
| 6 | re c over ed u nder the
|
---|
| 7 | lic ence agr eeme nt i
|
---|
| 8 | n th e// file "LI CENC
|
---|
| 9 | E" d istr ibut ed w ith
|
---|
| 10 | Cfor all. //// fmt Line
|
---|
| 11 | s.cc --/ /// Auth or
|
---|
| 12 | : P eter A.
|
---|
| 13 | Buhr // C reat ed O n
|
---|
| 14 | : Su n Se p 17 21:
|
---|
| 15 | 56:1 5 20 17// Las t Mo
|
---|
| 16 | difi ed B y : Pete r A.
|
---|
| 17 | Buh r// Last Mod ifie
|
---|
[f8cd310] | 18 | d On : F ri M ar 2 2 13
|
---|
| 19 | :41: 03 2 019/ / Up date
|
---|
| 20 | Cou nt : 33/ /#in
|
---|
[58b6d1b] | 21 | clud e <f stre am.h fa>#
|
---|
| 22 | incl ude <cor outi ne.h
|
---|
| 23 | fa>c orou tine For mat
|
---|
| 24 | { ch ar c h;
|
---|
| 25 | // used for com muni
|
---|
| 26 | cati on i nt g , b;
|
---|
| 27 | / / gl obal bec
|
---|
| 28 | ause use d in des truc
|
---|
| 29 | tor} ;voi d ?{ }( F orma
|
---|
| 30 | t & fmt ) { r esum
|
---|
| 31 | e( f mt ) ; /
|
---|
| 32 | / st art coro utin e}vo
|
---|
| 33 | id ^ ?{}( For mat & fm
|
---|
| 34 | t ) { if ( fm t.g
|
---|
| 35 | != 0 || fmt. b != 0 )
|
---|
[200fcb3] | 36 | sou t | nl;} void mai
|
---|
| 37 | n( F orma t & fmt ) {
|
---|
| 38 | for ( ;; ) {
|
---|
| 39 | // for as many cha
|
---|
| 40 | ract ers for ( f mt.g
|
---|
| 41 | = 0 ; fm t.g < 5; fmt
|
---|
| 42 | .g + = 1 ) { // grou
|
---|
| 43 | ps o f 5 bloc ks for
|
---|
| 44 | ( f mt.b = 0 ; fm t.b
|
---|
| 45 | < 4; fmt .b + = 1 ) {
|
---|
| 46 | // b lock s of 4 c hara
|
---|
| 47 | cter s for ( ; ; )
|
---|
| 48 | { // f or n ewli
|
---|
| 49 | ne c hara cter s su
|
---|
[e6cfa8ff] | 50 | spen d; i f ( fmt.
|
---|
| 51 | ch ! = '\ n' ) bre ak;
|
---|
| 52 | // igno re n ewli ne
|
---|
| 53 | } // f or so ut |
|
---|
| 54 | fmt .ch; / / pr
|
---|
| 55 | int char acte r } //
|
---|
| 56 | for s out | " ";
|
---|
| 57 | / / pr int bloc
|
---|
| 58 | k se para tor } / / fo
|
---|
| 59 | r s out | nl ;
|
---|
| 60 | // pri nt g roup sep
|
---|
| 61 | arat or } // for} //
|
---|
| 62 | main void prt ( Fo rmat
|
---|
| 63 | & f mt, char ch ) {
|
---|
| 64 | f mt.c h = ch; r
|
---|
| 65 | esum e( f mt ) ;} / / pr
|
---|
| 66 | tint mai n() { Fo rmat
|
---|
| 67 | fmt ; ch ar c h; f or (
|
---|
| 68 | ;; ) { sin | c h;
|
---|
| 69 | // r ead one
|
---|
| 70 | char acte r if ( eof
|
---|
| 71 | ( si n ) ) br eak;
|
---|
| 72 | / / eo f ? prt ( fm
|
---|
| 73 | t, c h ); } / / fo r} /
|
---|
| 74 | / ma in// Loc al V aria
|
---|
| 75 | bles : // // t ab-w idth
|
---|
| 76 | : 4 //// com pile -com
|
---|
| 77 | mand : "c fa f mtLi nes.
|
---|
| 78 | cfa" /// / En d: / /
|
---|
Note:
See
TracBrowser
for help on using the repository browser.