/* Void Main's man pages */

{ phpMan } else { main(); }

Command: man perldoc info search(apropos)  


STRVERSCMP(3)                                       Linux Programmer's Manual                                      STRVERSCMP(3)



NAME
       strverscmp - compare two version strings

SYNOPSIS
       #define _GNU_SOURCE
       #include <string.h>

       int strverscmp(const char *s1, const char *s2);

DESCRIPTION
       Often  one has files jan1, jan2, ..., jan9, jan10, ...  and it feels wrong when ls(1) orders them jan1, jan10, ..., jan2,
       ..., jan9.  In order to rectify this, GNU introduced the -v option to ls(1), which is implemented  using  versionsort(3),
       which again uses strverscmp().

       Thus, the task of strverscmp() is to compare two strings and find the "right" order, while strcmp(3) only finds the lexi-
       cographic order.  This function does not use the locale category LC_COLLATE, so is meant mostly for situations where  the
       strings are expected to be in ASCII.

       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 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 000, 00, 01, 010, 09, 0, 1, 9, 10.

RETURN VALUE
       The  strverscmp()  function returns an integer less than, equal to, or greater than zero if s1 is found, respectively, to
       be earlier than, equal to, or later than s2.

CONFORMING TO
       This function is a GNU extension.

SEE ALSO
       rename(1), strcasecmp(3), strcmp(3), strcoll(3), feature_test_macros(7)

COLOPHON
       This page is part of release 3.25 of the Linux man-pages project.  A description of the project,  and  information  about
       reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.



GNU                                                        2001-12-19                                              STRVERSCMP(3)

Valid XHTML 1.0!Valid CSS!