Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/arch/alpha/lib/srm_printk.c
10817 views
1
/*
2
* arch/alpha/lib/srm_printk.c
3
*/
4
5
#include <linux/kernel.h>
6
#include <asm/console.h>
7
8
long
9
srm_printk(const char *fmt, ...)
10
{
11
static char buf[1024];
12
va_list args;
13
long len, num_lf;
14
char *src, *dst;
15
16
va_start(args, fmt);
17
len = vsprintf(buf, fmt, args);
18
va_end(args);
19
20
/* count number of linefeeds in string: */
21
22
num_lf = 0;
23
for (src = buf; *src; ++src) {
24
if (*src == '\n') {
25
++num_lf;
26
}
27
}
28
29
if (num_lf) {
30
/* expand each linefeed into carriage-return/linefeed: */
31
for (dst = src + num_lf; src >= buf; ) {
32
if (*src == '\n') {
33
*dst-- = '\r';
34
}
35
*dst-- = *src--;
36
}
37
}
38
39
srm_puts(buf, num_lf+len);
40
return len;
41
}
42
43