projects
/
yaz-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added xstrndup (similar to strndup)
[yaz-moved-to-github.git]
/
src
/
xmalloc.c
diff --git
a/src/xmalloc.c
b/src/xmalloc.c
index
94a6565
..
4aa922c
100644
(file)
--- a/
src/xmalloc.c
+++ b/
src/xmalloc.c
@@
-341,6
+341,20
@@
void xfree_f(void *p, const char *file, int line)
yaz_log (log_level, "%s:%d: xfree %p", file, line, p);
xfree_d(p, file, line);
}
yaz_log (log_level, "%s:%d: xfree %p", file, line, p);
xfree_d(p, file, line);
}
+
+char *xstrndup_f(const char *s, size_t n, const char *file, int line)
+{
+ size_t l = strlen(s);
+ if (l < n)
+ return xstrdup_f(s, file, line);
+ {
+ char *a = xmalloc_f(n+1, file, line);
+ memcpy(a, s, n);
+ a[n] = '\0';
+ return a;
+ }
+}
+
/*
* Local variables:
* c-basic-offset: 4
/*
* Local variables:
* c-basic-offset: 4