aboutsummaryrefslogtreecommitdiffstats
path: root/man/man3/strverscmp.3
diff options
context:
space:
mode:
authorAlejandro Colomar <alx.manpages@gmail.com>2022-09-09 14:15:08 +0200
committerAlejandro Colomar <alx.manpages@gmail.com>2022-09-09 14:15:08 +0200
commit96e72ec1fbadd13cbcbc2b263540e4f5e9e09d7c (patch)
tree70686b943e33a6e939ad265acb7ddfef70b91f32 /man/man3/strverscmp.3
parent8f4ed6463206e8ede815c72085c7305dafc2e4fc (diff)
downloadman-pages-96e72ec1fbadd13cbcbc2b263540e4f5e9e09d7c.tar.gz
Revert "src.mk, All pages: Move man* to man/"
This reverts commit 70ac1c4785fc1e158ab2349a962dba2526bf4fbc. Link: <https://lore.kernel.org/linux-man/YxcV4h+Xn7cd6+q2@pevik/T/> Reported-by: Petr Vorel <pvorel@suse.cz> Reported-by: Jakub Wilk <jwilk@jwilk.net> Cc: Stefan Puiu <stefan.puiu@gmail.com> Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
Diffstat (limited to 'man/man3/strverscmp.3')
-rw-r--r--man/man3/strverscmp.3146
1 files changed, 0 insertions, 146 deletions
diff --git a/man/man3/strverscmp.3 b/man/man3/strverscmp.3
deleted file mode 100644
index c5bb2825a0..0000000000
--- a/man/man3/strverscmp.3
+++ /dev/null
@@ -1,146 +0,0 @@
-.\" Copyright (C) 2001 Andries Brouwer <aeb@cwi.nl>
-.\" and Copyright (C) 2016 Michael Kerrisk <mtk.manpages@gmail.com>
-.\"
-.\" SPDX-License-Identifier: Linux-man-pages-copyleft
-.\"
-.TH STRVERSCMP 3 2021-03-22 "Linux man-pages (unreleased)"
-.SH NAME
-strverscmp \- compare two version strings
-.SH LIBRARY
-Standard C library
-.RI ( libc ", " \-lc )
-.SH SYNOPSIS
-.nf
-.BR "#define _GNU_SOURCE" " /* See feature_test_macros(7) */"
-.B #include <string.h>
-.PP
-.BI "int strverscmp(const char *" s1 ", const char *" s2 );
-.fi
-.SH DESCRIPTION
-Often one has files
-.IR jan1 ", " jan2 ", ..., " jan9 ", " jan10 ", ..."
-and it feels wrong when
-.BR ls (1)
-orders them
-.IR jan1 ", " jan10 ", ..., " jan2 ", ..., " jan9 .
-.\" classical solution: "rename jan jan0 jan?"
-In order to rectify this, GNU introduced the
-.I \-v
-option to
-.BR ls (1),
-which is implemented using
-.BR versionsort (3),
-which again uses
-.BR strverscmp ().
-.PP
-Thus, the task of
-.BR strverscmp ()
-is to compare two strings and find the "right" order, while
-.BR strcmp (3)
-finds only the lexicographic order.
-This function does not use
-the locale category
-.BR LC_COLLATE ,
-so is meant mostly for situations
-where the strings are expected to be in ASCII.
-.PP
-What this function does is the following.
-If both strings are equal, return 0.
-Otherwise, find the position
-between two bytes with the property that before it both strings are equal,
-while directly after it there is a difference.
-Find the largest consecutive digit strings containing (or starting at,
-or ending at) this position.
-If one or both of these is empty,
-then return what
-.BR strcmp (3)
-would have returned (numerical ordering of byte values).
-Otherwise, compare both digit strings numerically, where digit strings with
-one or more leading zeros are interpreted as if they have a decimal point
-in front (so that in particular digit strings with more leading zeros
-come before digit strings with fewer leading zeros).
-Thus, the ordering is
-.IR 000 ", " 00 ", " 01 ", " 010 ", " 09 ", " 0 ", " 1 ", " 9 ", " 10 .
-.SH RETURN VALUE
-The
-.BR strverscmp ()
-function returns an integer
-less than, equal to, or greater than zero if
-.I s1
-is found, respectively, to be earlier than, equal to,
-or later than
-.IR s2 .
-.SH ATTRIBUTES
-For an explanation of the terms used in this section, see
-.BR attributes (7).
-.ad l
-.nh
-.TS
-allbox;
-lbx lb lb
-l l l.
-Interface Attribute Value
-T{
-.BR strverscmp ()
-T} Thread safety MT-Safe
-.TE
-.hy
-.ad
-.sp 1
-.\" FIXME: The marking is different from that in the glibc manual,
-.\" which has:
-.\"
-.\" strverscmp: MT-Safe locale
-.\"
-.\" glibc manual says strverscmp should have marking locale because it calls
-.\" isdigit() multiple times and isdigit() uses locale variable.
-.\" But isdigit() has two implementations. With different compiling conditions,
-.\" we may call isdigit() in macro, then strverscmp() should not have locale
-.\" problem.
-.SH STANDARDS
-This function is a GNU extension.
-.SH EXAMPLES
-The program below can be used to demonstrate the behavior of
-.BR strverscmp ().
-It uses
-.BR strverscmp ()
-to compare the two strings given as its command-line arguments.
-An example of its use is the following:
-.PP
-.in +4n
-.EX
-$ \fB./a.out jan1 jan10\fP
-jan1 < jan10
-.EE
-.in
-.SS Program source
-\&
-.EX
-#define _GNU_SOURCE
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-int
-main(int argc, char *argv[])
-{
- int res;
-
- if (argc != 3) {
- fprintf(stderr, "Usage: %s <string1> <string2>\en", argv[0]);
- exit(EXIT_FAILURE);
- }
-
- res = strverscmp(argv[1], argv[2]);
-
- printf("%s %s %s\en", argv[1],
- (res < 0) ? "<" : (res == 0) ? "==" : ">", argv[2]);
-
- exit(EXIT_SUCCESS);
-}
-.EE
-.SH SEE ALSO
-.BR rename (1),
-.BR strcasecmp (3),
-.BR strcmp (3),
-.BR strcoll (3)