From 62ed2e6c2962f6012ede1584646bbdb73021b141 Mon Sep 17 00:00:00 2001 From: midipix Date: Thu, 28 Jun 2018 03:53:30 -0400 Subject: internals: added slbt_mapped_readline(). --- src/internal/slibtool_mapfile_impl.c | 40 ++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'src/internal/slibtool_mapfile_impl.c') diff --git a/src/internal/slibtool_mapfile_impl.c b/src/internal/slibtool_mapfile_impl.c index e5d40d1..a9c1d61 100644 --- a/src/internal/slibtool_mapfile_impl.c +++ b/src/internal/slibtool_mapfile_impl.c @@ -3,8 +3,11 @@ #include #include #include +#include #include #include + +#include "slibtool_errinfo_impl.h" #include "slibtool_mapfile_impl.h" static void slbt_munmap(void * addr, size_t size) @@ -67,6 +70,8 @@ struct slbt_map_info * slbt_map_file( mapinfo->addr = addr; mapinfo->size = st.st_size; + mapinfo->mark = addr; + mapinfo->cap = &mapinfo->mark[st.st_size]; return mapinfo; } @@ -76,3 +81,38 @@ void slbt_unmap_file(struct slbt_map_info * mapinfo) slbt_munmap(mapinfo->addr,mapinfo->size); free(mapinfo); } + +int slbt_mapped_readline( + const struct slbt_driver_ctx * dctx, + struct slbt_map_info * mapinfo, + char * buf, + size_t buflen) +{ + const char * ch; + const char * cap; + const char * mark; + const char * newline; + size_t len; + + mark = mapinfo->mark; + cap = mapinfo->cap; + + for (ch=mark, newline=0; chmark += len; + + return 0; +} -- cgit v1.2.3