LCOV - code coverage report
Current view: top level - src/client/monitor - lline.c (source / functions) Hit Total Coverage
Test: burp-coverage-clean.info Lines: 0 36 0.0 %
Date: 2015-10-31 Functions: 0 4 0.0 %

          Line data    Source code
       1             : #include "../../burp.h"
       2             : #include "../../alloc.h"
       3             : #include "../../log.h"
       4             : #include "lline.h"
       5             : 
       6           0 : static void lline_free(struct lline *lline)
       7             : {
       8           0 :         if(!lline) return;
       9           0 :         if(lline->line) free(lline->line);
      10           0 :         free(lline);
      11             : }
      12             : 
      13           0 : void llines_free(struct lline **lline)
      14             : {
      15             :         struct lline *l;
      16           0 :         struct lline *lhead=*lline;
      17           0 :         while(lhead)
      18             :         {
      19           0 :                 l=lhead;
      20           0 :                 lhead=lhead->next;
      21           0 :                 lline_free(l);
      22             :         }
      23           0 :         *lline=NULL;
      24           0 : }
      25             : 
      26           0 : static struct lline *lline_alloc(char *line)
      27             : {
      28           0 :         struct lline *llnew=NULL;
      29           0 :         if(!line)
      30             :         {
      31           0 :                 logp("%s called with NULL line!\n", __func__);
      32           0 :                 return NULL;
      33             :         }
      34           0 :         if(!(llnew=(struct lline *)
      35             :                 calloc_w(1, sizeof(struct lline), __func__))
      36           0 :           || !(llnew->line=strdup_w(line, __func__)))
      37           0 :                 return NULL;
      38           0 :         return llnew;
      39             : }
      40             : 
      41           0 : int lline_add(struct lline **lline, char *line)
      42             : {
      43           0 :         struct lline *l=NULL;
      44           0 :         struct lline *llast=NULL;
      45           0 :         struct lline *llnew=NULL;
      46             : 
      47           0 :         if(!(llnew=lline_alloc(line))) return -1;
      48             : 
      49           0 :         for(l=*lline; l; l=l->next)
      50             :         {
      51           0 :                 l->prev=llast;
      52           0 :                 llast=l;
      53             :         }
      54           0 :         if(llast)
      55             :         {
      56           0 :                 llnew->next=llast->next;
      57           0 :                 llast->next=llnew;
      58           0 :                 llnew->prev=llast;
      59             :         }
      60             :         else
      61             :         {
      62           0 :                 *lline=llnew;
      63           0 :                 llnew->next=l;
      64             :         }
      65             : 
      66           0 :         return 0;
      67             : }

Generated by: LCOV version 1.10