(root)/
glibc-2.38/
string/
tst-svc.c
       1  /* Test for strverscmp() */
       2  
       3  #include <stdlib.h>
       4  #include <stdio.h>
       5  #include <string.h>
       6  
       7  #define  MAX_STRINGS      256
       8  #define  MAX_LINE_SIZE    32
       9  
      10  static int
      11  compare (const void *p1, const void *p2)
      12  {
      13    return strverscmp (*((char **) p1), *((char **) p2));
      14  }
      15  
      16  int
      17  do_test (void)
      18  {
      19    char line[MAX_LINE_SIZE + 1];
      20    char *str[MAX_STRINGS];
      21    int  count = 0;
      22    int  i, n;
      23  
      24    while (count < MAX_STRINGS && fgets (line, MAX_LINE_SIZE, stdin) != NULL)
      25      {
      26        n = strlen (line) - 1;
      27  
      28        if (line[n] == '\n')
      29          line[n] = '\0';
      30  
      31        str[count] = strdup (line);
      32  
      33        if (str[count] == NULL)
      34          exit (EXIT_FAILURE);
      35  
      36        ++count;
      37      }
      38  
      39    qsort (str, count, sizeof (char *), compare);
      40  
      41    for (i = 0; i < count; ++i)
      42      puts (str[i]);
      43  
      44    return EXIT_SUCCESS;
      45  }
      46  
      47  #include <support/test-driver.c>