src/ldconfig.cc

changeset 606
3dd6f343ec06
parent 603
47e7773c7841
child 609
a8dc74a809c6
equal deleted inserted replaced
605:2983f7c7e7c9 606:3dd6f343ec06
23 #include "colors.h" 23 #include "colors.h"
24 24
25 // ============================================================================= 25 // =============================================================================
26 // Helper function for parseLDConfig 26 // Helper function for parseLDConfig
27 // ----------------------------------------------------------------------------- 27 // -----------------------------------------------------------------------------
28 static bool parseLDConfigTag (LDConfigParser& pars, char const* tag, str& val) 28 static bool parseLDConfigTag (LDConfigParser& pars, char const* tag, QString& val)
29 { 29 {
30 int pos; 30 int pos;
31 31
32 // Try find the token and get its position 32 // Try find the token and get its position
33 if (!pars.findToken (pos, tag, 1)) 33 if (!pars.findToken (pos, tag, 1))
49 strerror (errno))); 49 strerror (errno)));
50 return; 50 return;
51 } 51 }
52 52
53 // Read in the lines 53 // Read in the lines
54 for (str line : *f) 54 for (QString line : *f)
55 { 55 {
56 if (line.length() == 0 || line[0] != '0') 56 if (line.length() == 0 || line[0] != '0')
57 continue; // empty or illogical 57 continue; // empty or illogical
58 58
59 line.remove ('\r'); 59 line.remove ('\r');
61 61
62 // Parse the line 62 // Parse the line
63 LDConfigParser pars (line, ' '); 63 LDConfigParser pars (line, ' ');
64 64
65 int code = 0, alpha = 255; 65 int code = 0, alpha = 255;
66 str name, facename, edgename, valuestr; 66 QString name, facename, edgename, valuestr;
67 67
68 // Check 0 !COLOUR, parse the name 68 // Check 0 !COLOUR, parse the name
69 if (!pars.tokenCompare (0, "0") || !pars.tokenCompare (1, "!COLOUR") || !pars.getToken (name, 2)) 69 if (!pars.tokenCompare (0, "0") || !pars.tokenCompare (1, "!COLOUR") || !pars.getToken (name, 2))
70 continue; 70 continue;
71 71
114 delete f; 114 delete f;
115 } 115 }
116 116
117 // ============================================================================= 117 // =============================================================================
118 // ----------------------------------------------------------------------------- 118 // -----------------------------------------------------------------------------
119 LDConfigParser::LDConfigParser (str inText, char sep) 119 LDConfigParser::LDConfigParser (QString inText, char sep)
120 { 120 {
121 m_tokens = inText.split (sep, QString::SkipEmptyParts); 121 m_tokens = inText.split (sep, QString::SkipEmptyParts);
122 m_pos = -1; 122 m_pos = -1;
123 } 123 }
124 124
136 return m_pos == m_tokens.size() - 1; 136 return m_pos == m_tokens.size() - 1;
137 } 137 }
138 138
139 // ============================================================================= 139 // =============================================================================
140 // ----------------------------------------------------------------------------- 140 // -----------------------------------------------------------------------------
141 bool LDConfigParser::getToken (str& val, const int pos) 141 bool LDConfigParser::getToken (QString& val, const int pos)
142 { 142 {
143 if (pos >= m_tokens.size()) 143 if (pos >= m_tokens.size())
144 return false; 144 return false;
145 145
146 val = m_tokens[pos]; 146 val = m_tokens[pos];
147 return true; 147 return true;
148 } 148 }
149 149
150 // ============================================================================= 150 // =============================================================================
151 // ----------------------------------------------------------------------------- 151 // -----------------------------------------------------------------------------
152 bool LDConfigParser::getNextToken (str& val) 152 bool LDConfigParser::getNextToken (QString& val)
153 { 153 {
154 return getToken (val, ++m_pos); 154 return getToken (val, ++m_pos);
155 } 155 }
156 156
157 // ============================================================================= 157 // =============================================================================
158 // ----------------------------------------------------------------------------- 158 // -----------------------------------------------------------------------------
159 bool LDConfigParser::peekNextToken (str& val) 159 bool LDConfigParser::peekNextToken (QString& val)
160 { 160 {
161 return getToken (val, m_pos + 1); 161 return getToken (val, m_pos + 1);
162 } 162 }
163 163
164 // ============================================================================= 164 // =============================================================================
200 200
201 // ============================================================================= 201 // =============================================================================
202 // ----------------------------------------------------------------------------- 202 // -----------------------------------------------------------------------------
203 bool LDConfigParser::tokenCompare (int inPos, const char* sOther) 203 bool LDConfigParser::tokenCompare (int inPos, const char* sOther)
204 { 204 {
205 str tok; 205 QString tok;
206 206
207 if (!getToken (tok, inPos)) 207 if (!getToken (tok, inPos))
208 return false; 208 return false;
209 209
210 return (tok == sOther); 210 return (tok == sOther);

mercurial