FireBirdLib - Topfield TMS PVR TAP Programming Library
GetLine.c
Go to the documentation of this file.
1#include <string.h>
2#include "libFireBird.h"
3
4size_t GetLine(const char *data, bool strip)
5{
7
8 char *CRLFPos, *LFPos;
9
10 if(!*data)
11 {
12 TRACEEXIT();
13 return 0;
14 }
15
16 CRLFPos = strstr(data, "\r\n");
17 LFPos = strchr(data, '\n');
18
19 if(CRLFPos == NULL && LFPos == NULL)
20 {
21 TRACEEXIT();
22 return strlen(data);
23 }
24 else if(CRLFPos == NULL || LFPos < CRLFPos)
25 {
26 if(strip) *LFPos = '\0';
27 size_t ret = LFPos - data + 1;
28
29 TRACEEXIT();
30 return ret;
31 }
32 else
33 {
34 if(strip) *CRLFPos = '\0';
35
36 size_t ret = CRLFPos - data + 2;
37
38 TRACEEXIT();
39 return ret;
40 }
41}
size_t GetLine(const char *data, bool strip)
Definition: GetLine.c:4
#define TRACEEXIT()
Definition: libFireBird.h:1244
#define TRACEENTER()
Definition: libFireBird.h:1243