Moved settings_parseline() to misc.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4824 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
afd7421a4c
commit
26440c9fd6
3 changed files with 40 additions and 33 deletions
34
apps/misc.c
34
apps/misc.c
|
@ -16,6 +16,7 @@
|
|||
* KIND, either express or implied.
|
||||
*
|
||||
****************************************************************************/
|
||||
#include <ctype.h>
|
||||
#include "string.h"
|
||||
#include "config.h"
|
||||
#include "file.h"
|
||||
|
@ -170,3 +171,36 @@ void screen_dump(void)
|
|||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* parse a line from a configuration file. the line format is:
|
||||
|
||||
name: value
|
||||
|
||||
Any whitespace before setting name or value (after ':') is ignored.
|
||||
A # as first non-whitespace character discards the whole line.
|
||||
Function sets pointers to null-terminated setting name and value.
|
||||
Returns false if no valid config entry was found.
|
||||
*/
|
||||
|
||||
bool settings_parseline(char* line, char** name, char** value)
|
||||
{
|
||||
char* ptr;
|
||||
|
||||
while ( isspace(*line) )
|
||||
line++;
|
||||
|
||||
if ( *line == '#' )
|
||||
return false;
|
||||
|
||||
ptr = strchr(line, ':');
|
||||
if ( !ptr )
|
||||
return false;
|
||||
|
||||
*name = line;
|
||||
*ptr = 0;
|
||||
ptr++;
|
||||
while (isspace(*ptr))
|
||||
ptr++;
|
||||
*value = ptr;
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -16,6 +16,8 @@
|
|||
* KIND, either express or implied.
|
||||
*
|
||||
****************************************************************************/
|
||||
#ifndef MISC_H
|
||||
#define MISC_H
|
||||
|
||||
/* The point of this function would be to return a string of the input data,
|
||||
but never longer than 5 columns. Add suffix k and M when suitable...
|
||||
|
@ -35,3 +37,7 @@ int read_line(int fd, char* buffer, int buffer_size);
|
|||
/* Save a .BMP file containing the current screen contents. */
|
||||
void screen_dump(void);
|
||||
#endif
|
||||
|
||||
bool settings_parseline(char* line, char** name, char** value);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -836,39 +836,6 @@ void settings_load(int which)
|
|||
}
|
||||
}
|
||||
|
||||
/* parse a line from a configuration file. the line format is:
|
||||
|
||||
setting name: setting value
|
||||
|
||||
Any whitespace before setting name or value (after ':') is ignored.
|
||||
A # as first non-whitespace character discards the whole line.
|
||||
Function sets pointers to null-terminated setting name and value.
|
||||
Returns false if no valid config entry was found.
|
||||
*/
|
||||
|
||||
static bool settings_parseline(char* line, char** name, char** value)
|
||||
{
|
||||
char* ptr;
|
||||
|
||||
while ( isspace(*line) )
|
||||
line++;
|
||||
|
||||
if ( *line == '#' )
|
||||
return false;
|
||||
|
||||
ptr = strchr(line, ':');
|
||||
if ( !ptr )
|
||||
return false;
|
||||
|
||||
*name = line;
|
||||
*ptr = 0;
|
||||
ptr++;
|
||||
while (isspace(*ptr))
|
||||
ptr++;
|
||||
*value = ptr;
|
||||
return true;
|
||||
}
|
||||
|
||||
void set_file(char* filename, char* setting, int maxlen)
|
||||
{
|
||||
char* fptr = strrchr(filename,'/');
|
||||
|
|
Loading…
Reference in a new issue