m2 lib c
This commit is contained in:
parent
fcb694be6b
commit
44cd2f132f
|
@ -53,6 +53,8 @@
|
||||||
#define SYS_ioctl 0x36
|
#define SYS_ioctl 0x36
|
||||||
// CONSTANT SYS_fsync 0x76
|
// CONSTANT SYS_fsync 0x76
|
||||||
#define SYS_fsync 0x76
|
#define SYS_fsync 0x76
|
||||||
|
// CONSTANT SYS_getcwd 0xb7
|
||||||
|
#define SYS_getcwd 0xb7
|
||||||
|
|
||||||
/* libc+tcc */
|
/* libc+tcc */
|
||||||
#define SYS_close 0x06
|
#define SYS_close 0x06
|
||||||
|
@ -62,7 +64,6 @@
|
||||||
#define SYS_rmdir 0x28
|
#define SYS_rmdir 0x28
|
||||||
#define SYS_gettimeofday 0x4e
|
#define SYS_gettimeofday 0x4e
|
||||||
#define SYS_stat 0x6a
|
#define SYS_stat 0x6a
|
||||||
#define SYS_getcwd 0xb7
|
|
||||||
|
|
||||||
/* libc+gnu */
|
/* libc+gnu */
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
/* -*-comment-start: "//";comment-end:""-*-
|
||||||
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
|
* Copyright © 2016,2017,2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
|
*
|
||||||
|
* This file is part of GNU Mes.
|
||||||
|
*
|
||||||
|
* GNU Mes is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or (at
|
||||||
|
* your option) any later version.
|
||||||
|
*
|
||||||
|
* GNU Mes is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <mes/lib-mini.h>
|
||||||
|
#include <linux/syscall.h>
|
||||||
|
#include <syscall.h>
|
||||||
|
|
||||||
|
char *
|
||||||
|
_getcwd (char *buffer, int size)
|
||||||
|
{
|
||||||
|
int r = _sys_call2 (SYS_getcwd, buffer, size);
|
||||||
|
if (r >= 0)
|
||||||
|
return buffer;
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -20,8 +20,8 @@
|
||||||
|
|
||||||
struct timespec
|
struct timespec
|
||||||
{
|
{
|
||||||
long tv_sec;
|
int tv_sec;
|
||||||
long tv_nsec;
|
int tv_nsec;
|
||||||
};
|
};
|
||||||
|
|
||||||
int clock_gettime (int clk_id, struct timespec *tp);
|
int clock_gettime (int clk_id, struct timespec *tp);
|
||||||
|
|
|
@ -18,4 +18,20 @@
|
||||||
* along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
* along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
char *getcwd (char *buffer, size_t size);
|
#include <mes/lib.h>
|
||||||
|
#include <limits.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <mes/lib.h>
|
||||||
|
|
||||||
|
// CONSTANT PATH_MAX 1024
|
||||||
|
|
||||||
|
char *
|
||||||
|
getcwd (char *buffer, int size)
|
||||||
|
{
|
||||||
|
if (! __itoa_buf)
|
||||||
|
__itoa_buf = malloc (20);
|
||||||
|
char *buf = __itoa_buf;
|
||||||
|
if (buffer)
|
||||||
|
return _getcwd (buffer, size);
|
||||||
|
return _getcwd (buf, PATH_MAX);
|
||||||
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
memcmp (void *s1, void *s2, size_t size)
|
memcmp (void *s1, void *s2, int size)
|
||||||
{
|
{
|
||||||
if (size == 0)
|
if (size == 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -22,10 +22,10 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
void *
|
void *
|
||||||
memcpy (void *dest, void const *src, size_t n)
|
memcpy (void *dest, void *src, int n)
|
||||||
{
|
{
|
||||||
char *p = dest;
|
char *p = dest;
|
||||||
char const *q = src;
|
char *q = src;
|
||||||
|
|
||||||
while (n != 0)
|
while (n != 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* -*-comment-start: "//";comment-end:""-*-
|
/* -*-comment-start: "
|
||||||
* GNU Mes --- Maxwell Equations of Software
|
* GNU Mes --- Maxwell Equations of Software
|
||||||
* Copyright © 2016,2017,2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
* Copyright © 2016,2017,2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
*
|
*
|
||||||
|
@ -23,15 +23,29 @@
|
||||||
char *
|
char *
|
||||||
strcpy (char *dest, char *src)
|
strcpy (char *dest, char *src)
|
||||||
{
|
{
|
||||||
|
/* eputs ("\nstrcpy: src="); */
|
||||||
|
/* eputs (src); */
|
||||||
|
/* eputs ("\n"); */
|
||||||
char *p = dest;
|
char *p = dest;
|
||||||
|
char *orig = dest;
|
||||||
|
|
||||||
while (src[0] != 0)
|
/* eputs ("dest="); */
|
||||||
|
/* eputs (dest); */
|
||||||
|
/* eputs ("\n"); */
|
||||||
|
|
||||||
|
/* eputs ("c:" ); */
|
||||||
|
while (0 != src[0])
|
||||||
{
|
{
|
||||||
p[0] = src[0];
|
/* eputc (src[0]); */
|
||||||
p + p + 1;
|
/* eputs (" "); */
|
||||||
|
dest[0] = src[0];
|
||||||
|
dest = dest + 1;
|
||||||
src = src + 1;
|
src = src + 1;
|
||||||
}
|
}
|
||||||
p[0] = 0;
|
dest[0] = 0;
|
||||||
|
/* eputs ("\n => orig="); */
|
||||||
|
/* eputs (orig); */
|
||||||
|
/* eputs ("\n"); */
|
||||||
|
|
||||||
return dest;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue