LCOV - differential code coverage report
Current view: top level - contrib/ltree - crc32.c (source / functions) Coverage Total Hit CBC
Current: Differential Code Coverage HEAD vs 15 Lines: 100.0 % 10 10 10
Current Date: 2023-04-08 15:15:32 Functions: 100.0 % 1 1 1
Baseline: 15
Baseline Date: 2023-04-08 15:09:40
Legend: Lines: hit not hit

           TLA  Line data    Source code
       1                 : /* contrib/ltree/crc32.c */
       2                 : 
       3                 : /*
       4                 :  * Implements CRC-32, as used in ltree.
       5                 :  *
       6                 :  * Note that the CRC is used in the on-disk format of GiST indexes, so we
       7                 :  * must stay backwards-compatible!
       8                 :  */
       9                 : 
      10                 : #include "postgres.h"
      11                 : #include "ltree.h"
      12                 : 
      13                 : #ifdef LOWER_NODE
      14                 : #include <ctype.h>
      15                 : #define TOLOWER(x)  tolower((unsigned char) (x))
      16                 : #else
      17                 : #define TOLOWER(x)  (x)
      18                 : #endif
      19                 : 
      20                 : #include "crc32.h"
      21                 : #include "utils/pg_crc.h"
      22                 : 
      23                 : unsigned int
      24 CBC      156349 : ltree_crc32_sz(const char *buf, int size)
      25                 : {
      26                 :     pg_crc32    crc;
      27          156349 :     const char *p = buf;
      28                 : 
      29          156349 :     INIT_TRADITIONAL_CRC32(crc);
      30          375003 :     while (size > 0)
      31                 :     {
      32          218654 :         char        c = (char) TOLOWER(*p);
      33                 : 
      34          437308 :         COMP_TRADITIONAL_CRC32(crc, &c, 1);
      35          218654 :         size--;
      36          218654 :         p++;
      37                 :     }
      38          156349 :     FIN_TRADITIONAL_CRC32(crc);
      39          156349 :     return (unsigned int) crc;
      40                 : }
        

Generated by: LCOV version v1.16-55-g56c0a2a