diff options
author | Lee Duncan <lduncan@suse.com> | 2022-09-06 08:54:56 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-06 08:54:56 -0700 |
commit | 7726ecc89015edb49057473a605c63ac9354f5cb (patch) | |
tree | 8201b1dfb7725727cd22db652e99bba853186778 /sysdeps | |
parent | 6667ba8cb4629f1d910dd21aaa4709d122530e1e (diff) | |
download | open-iscsi-7726ecc89015edb49057473a605c63ac9354f5cb.tar.gz |
Small bug fixes (#364)
* build: move utils/sysdeps to top-level
The routines here are used by iscsiuio, so
move them to the top level.
* libopeniscsiusr: fix kernel-doc bugs
There were errors in four places, effecting the generated
manual pages.
* libopeniscsiusr: clean up kernel-doc usage
Simplify generation of library interface documentation using
the kernel-doc script:
* make the kernel-doc perl script executble (the only visible change)
* remove mention of sed (not used)
* stop compressing man pages -- let distros do that
* improve kernel-doc so that doc-preclean.pl and split-man.pl
are no longer needed
* add list-man-pages.sh to simplify things (copied from libnvme)
* build: keep current version number in one place
Move the current version number (now 2.1.7) into
the top-level Makefile, and out of usr/version.h and
libopeniscsiusr/version.h, completely eliminating the
need for the latter.
Note that this ties the libopeniscsiusr library idea of
"version" to the usr/ (iscsid, etc) idea of version, even
though they used to be defined separately. But they always
had the same value, so nothing lost.
* build: insteall man pages uncompressed
We were delivering some man pages compressed and other not, and
it turns out distros know how to install man pages using the
compression they prefer, so stop doing it for them.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/Makefile | 20 | ||||
-rw-r--r-- | sysdeps/sysdeps.c | 71 |
2 files changed, 91 insertions, 0 deletions
diff --git a/sysdeps/Makefile b/sysdeps/Makefile new file mode 100644 index 0000000..d419dba --- /dev/null +++ b/sysdeps/Makefile @@ -0,0 +1,20 @@ +# This Makefile will work only with GNU make. + +CFLAGS ?= -O2 -fno-inline -g +CFLAGS += $(WARNFLAGS) -Wall -Wstrict-prototypes + +SYSDEPS_OBJS=sysdeps.o + +all: $(SYSDEPS_OBJS) + +clean: + $(RM) *.o .depend + +distclean: ; + +.PHONY: all clean distclean depend + +depend: + $(CC) $(CFLAGS) -M `ls *.c` > .depend + +-include .depend diff --git a/sysdeps/sysdeps.c b/sysdeps/sysdeps.c new file mode 100644 index 0000000..e39730d --- /dev/null +++ b/sysdeps/sysdeps.c @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2003 Greg Kroah-Hartman <greg@kroah.com> + * Copyright (C) 2005-2006 Kay Sievers <kay.sievers@vrfy.org> + * + * This program 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 version 2 of the License. + * + * This program 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 this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> +#include <ctype.h> +#include <fcntl.h> +#include <errno.h> +#include <sys/types.h> + +#ifdef __GLIBC__ +size_t strlcpy(char *dst, const char *src, size_t size) +{ + size_t bytes = 0; + char *q = dst; + const char *p = src; + char ch; + + while ((ch = *p++)) { + if (bytes+1 < size) + *q++ = ch; + bytes++; + } + + /* If size == 0 there is no space for a final null... */ + if (size) + *q = '\0'; + return bytes; +} + +size_t strlcat(char *dst, const char *src, size_t size) +{ + size_t bytes = 0; + char *q = dst; + const char *p = src; + char ch; + + while (bytes < size && *q) { + q++; + bytes++; + } + if (bytes == size) + return (bytes + strlen(src)); + + while ((ch = *p++)) { + if (bytes+1 < size) + *q++ = ch; + bytes++; + } + + *q = '\0'; + return bytes; +} +#endif /* __GLIBC__ */ |