6 typedef void (*VOID_FUNC
)();
9 /****************************************************************************************/
11 void StrCat(char *s
, char *s2
)
16 /****************************************************************************************/
18 static void filltable(char **table
, char *buff
, char fill
)
36 /****************************************************************************************/
38 void FillNewLineTable (char **table
, char *buff
)
40 filltable(table
, buff
, '\n');
43 /****************************************************************************************/
45 void FillBarTable (char **table
, char *buff
)
47 filltable(table
, buff
, '|');
50 /****************************************************************************************/
53 AROS_UFH2 (void, puttostr
,
54 AROS_UFHA(UBYTE
, chr
, D0
),
55 AROS_UFHA(STRPTR
*,strPtrPtr
,A3
)
60 void puttostr(REGPARAM(d0
, UBYTE
, chr
),
61 REGPARAM(a3
, STRPTR
*, strPtrPtr
))
71 /****************************************************************************************/
74 AROS_UFH2 (void, CountBarsAndChars
,
75 AROS_UFHA(UBYTE
, chr
, D0
),
76 AROS_UFHA(ULONG
*,ptr
,A3
)
81 void CountBarsAndChars(REGPARAM(d0
, UBYTE
, chr
),
82 REGPARAM(a3
, ULONG
*, ptr
))
85 if (chr
== '|') (ptr
[0])++;
92 /****************************************************************************************/
95 AROS_UFH2 (void, CountNewLinesAndChars
,
96 AROS_UFHA(UBYTE
, chr
, D0
),
97 AROS_UFHA(ULONG
*,ptr
,A3
)
102 void CountNewLinesAndChars(REGPARAM(d0
, UBYTE
, chr
),
103 REGPARAM(a3
, ULONG
*, ptr
))
106 if (chr
== '\n') (ptr
[0])++;
113 /****************************************************************************************/
115 APTR
DofmtArgs (char *buff
, char *fmt
,...)
119 #warning fix vararg stuff
121 return RawDoFmt(fmt
, &fmt
+ 1, (VOID_FUNC
)puttostr
, &str
);
124 /****************************************************************************************/
126 APTR
Dofmt (char *buff
, char *fmt
, APTR args
)
130 return RawDoFmt(fmt
, args
, (VOID_FUNC
)puttostr
, &str
);
134 /****************************************************************************************/
136 APTR
DofmtCount (char *fmt
, APTR args
, ULONG
*ptr
, int mode
)
142 (mode
? ((VOID_FUNC
)CountBarsAndChars
) : ((VOID_FUNC
)CountNewLinesAndChars
) ),
146 /****************************************************************************************/
148 void ShortDelay(void)
153 /****************************************************************************************/
155 ULONG
LoopReqHandler(struct rtHandlerInfo
*rthi
)
157 ULONG handler_retval
, sigs
;
164 sigs
= Wait(rthi
->WaitMask
);
166 handler_retval
= (ULONG
)rtReqHandlerA(rthi
, sigs
, NULL
);
168 } while (handler_retval
== CALL_HANDLER
);
170 return handler_retval
;
174 /****************************************************************************************/
176 void DoWaitPointer(struct Window
*win
, int doit
, int setpointer
)
181 rtSetWaitPointer(win
);
188 /****************************************************************************************/
190 APTR
DoLockWindow(struct Window
*win
, int doit
, APTR lock
, int lockit
)
192 if (!doit
|| !win
) return NULL
;
194 if (lockit
) return rtLockWindow(win
);
196 rtUnlockWindow(win
, lock
);
201 /****************************************************************************************/
203 void SetWinTitleFlash(struct Window
*win
, char *str
)
205 DisplayBeep(win
->WScreen
);
206 SetWindowTitles(win
, str
, (UBYTE
*)-1);
209 /****************************************************************************************/
210 /****************************************************************************************/
211 /****************************************************************************************/
212 /****************************************************************************************/
213 /****************************************************************************************/
214 /****************************************************************************************/