revert between 56095 -> 55830 in arch
[AROS.git] / rom / devs / console / setconsnip.c
blob7bb20444b60aaa3763bb26225b24c2317b814f8a
1 /*
2 Copyright © 1995-2014, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #include <aros/debug.h>
7 #include <proto/console.h>
9 #include "console_gcc.h"
11 AROS_LH1(LONG, SetConSnip,
12 AROS_LHA(APTR, data, A0),
13 struct ConsoleBase *, ConsoleDevice, 10, Console)
15 AROS_LIBFUNC_INIT
17 /* data = NUL-terminated string */
18 ULONG size;
19 LONG ret = 0;
21 ObtainSemaphore(&ConsoleDevice->copyBufferLock);
23 FreeMem((APTR) ConsoleDevice->copyBuffer,
24 ConsoleDevice->copyBufferSize);
25 ConsoleDevice->copyBufferSize = 0;
26 if (data)
28 size = strlen(data);
29 if (size)
31 ConsoleDevice->copyBuffer = AllocMem(size, MEMF_PUBLIC);
32 if (ConsoleDevice->copyBuffer)
34 CopyMem(data, (APTR) ConsoleDevice->copyBuffer, size);
35 ConsoleDevice->copyBufferSize = size;
36 ret = 1;
41 ReleaseSemaphore(&ConsoleDevice->copyBufferLock);
43 return ret;
45 AROS_LIBFUNC_EXIT