forked from len0rd/rockbox
RTC tags for the WPS: Accept FS#6998 and FS#7001 by Alexander Levin with changes by me. CUSTOM WPS FILES NEED TO BE UPDATED !
The RTC tags are now atomic, i.e. instead of using one tag with the format (e.g. %cd m yc), we use several separate tags, one for each value (e.g. %cd %cm %cy). Also, %cP produces an uppercase AM/PM indicator and %cp a lowercase one, which is the opposite from what they did before. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13093 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
af7780e0b3
commit
536c5d9e74
5 changed files with 84 additions and 90 deletions
|
|
@ -762,6 +762,39 @@ static char *get_token_value(struct gui_wps *gwps,
|
||||||
if (!id3)
|
if (!id3)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
#if CONFIG_RTC
|
||||||
|
struct tm* tm = NULL;
|
||||||
|
|
||||||
|
/* if the token is an RTC one, update the time and do the necessary checks */
|
||||||
|
|
||||||
|
if (token->type >= WPS_TOKEN_RTC_DAY_OF_MONTH
|
||||||
|
&& token->type <= WPS_TOKEN_RTC_DAY_OF_WEEK_START_SUN)
|
||||||
|
{
|
||||||
|
tm = get_time();
|
||||||
|
|
||||||
|
if (tm->tm_mday > 31 || tm->tm_mday < 1)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if (tm->tm_hour > 23)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if (tm->tm_mon > 11 || tm->tm_mon < 0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if (tm->tm_min > 59 || tm->tm_min < 0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if (tm->tm_sec > 59 || tm->tm_sec < 0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if (tm->tm_year > 199 || tm->tm_year < 100)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if (tm->tm_wday > 6 || tm->tm_wday < 0)
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
int limit = 1;
|
int limit = 1;
|
||||||
if (intval)
|
if (intval)
|
||||||
{
|
{
|
||||||
|
|
@ -769,10 +802,6 @@ static char *get_token_value(struct gui_wps *gwps,
|
||||||
*intval = -1;
|
*intval = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_RTC
|
|
||||||
static struct tm* tm;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
switch (token->type)
|
switch (token->type)
|
||||||
{
|
{
|
||||||
case WPS_TOKEN_CHARACTER:
|
case WPS_TOKEN_CHARACTER:
|
||||||
|
|
@ -1039,63 +1068,50 @@ static char *get_token_value(struct gui_wps *gwps,
|
||||||
return buf;
|
return buf;
|
||||||
|
|
||||||
#if CONFIG_RTC
|
#if CONFIG_RTC
|
||||||
case WPS_TOKEN_RTC:
|
|
||||||
tm = get_time();
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
case WPS_TOKEN_RTC_DAY_OF_MONTH:
|
case WPS_TOKEN_RTC_DAY_OF_MONTH:
|
||||||
/* d: day of month (01..31) */
|
/* d: day of month (01..31) */
|
||||||
if (tm->tm_mday > 31 || tm->tm_mday < 1) return NULL;
|
|
||||||
snprintf(buf, buf_size, "%02d", tm->tm_mday);
|
snprintf(buf, buf_size, "%02d", tm->tm_mday);
|
||||||
return buf;
|
return buf;
|
||||||
|
|
||||||
case WPS_TOKEN_RTC_DAY_OF_MONTH_BLANK_PADDED:
|
case WPS_TOKEN_RTC_DAY_OF_MONTH_BLANK_PADDED:
|
||||||
/* e: day of month, blank padded ( 1..31) */
|
/* e: day of month, blank padded ( 1..31) */
|
||||||
if (tm->tm_mday > 31 || tm->tm_mday < 1) return NULL;
|
|
||||||
snprintf(buf, buf_size, "%2d", tm->tm_mday);
|
snprintf(buf, buf_size, "%2d", tm->tm_mday);
|
||||||
return buf;
|
return buf;
|
||||||
|
|
||||||
case WPS_TOKEN_RTC_HOUR_24_ZERO_PADDED:
|
case WPS_TOKEN_RTC_HOUR_24_ZERO_PADDED:
|
||||||
/* H: hour (00..23) */
|
/* H: hour (00..23) */
|
||||||
if (tm->tm_hour > 23) return NULL;
|
|
||||||
snprintf(buf, buf_size, "%02d", tm->tm_hour);
|
snprintf(buf, buf_size, "%02d", tm->tm_hour);
|
||||||
return buf;
|
return buf;
|
||||||
|
|
||||||
case WPS_TOKEN_RTC_HOUR_24:
|
case WPS_TOKEN_RTC_HOUR_24:
|
||||||
/* k: hour ( 0..23) */
|
/* k: hour ( 0..23) */
|
||||||
if (tm->tm_hour > 23) return NULL;
|
|
||||||
snprintf(buf, buf_size, "%2d", tm->tm_hour);
|
snprintf(buf, buf_size, "%2d", tm->tm_hour);
|
||||||
return buf;
|
return buf;
|
||||||
|
|
||||||
case WPS_TOKEN_RTC_HOUR_12_ZERO_PADDED:
|
case WPS_TOKEN_RTC_HOUR_12_ZERO_PADDED:
|
||||||
/* I: hour (01..12) */
|
/* I: hour (01..12) */
|
||||||
if (tm->tm_hour > 23) return NULL;
|
|
||||||
snprintf(buf, buf_size, "%02d",
|
snprintf(buf, buf_size, "%02d",
|
||||||
(tm->tm_hour % 12 == 0) ? 12 : tm->tm_hour % 12);
|
(tm->tm_hour % 12 == 0) ? 12 : tm->tm_hour % 12);
|
||||||
return buf;
|
return buf;
|
||||||
|
|
||||||
case WPS_TOKEN_RTC_HOUR_12:
|
case WPS_TOKEN_RTC_HOUR_12:
|
||||||
/* l: hour ( 1..12) */
|
/* l: hour ( 1..12) */
|
||||||
if (tm->tm_hour > 23) return NULL;
|
|
||||||
snprintf(buf, buf_size, "%2d",
|
snprintf(buf, buf_size, "%2d",
|
||||||
(tm->tm_hour % 12 == 0) ? 12 : tm->tm_hour % 12);
|
(tm->tm_hour % 12 == 0) ? 12 : tm->tm_hour % 12);
|
||||||
return buf;
|
return buf;
|
||||||
|
|
||||||
case WPS_TOKEN_RTC_MONTH:
|
case WPS_TOKEN_RTC_MONTH:
|
||||||
/* m: month (01..12) */
|
/* m: month (01..12) */
|
||||||
if (tm->tm_mon > 11 || tm->tm_mon < 0) return NULL;
|
|
||||||
snprintf(buf, buf_size, "%02d", tm->tm_mon + 1);
|
snprintf(buf, buf_size, "%02d", tm->tm_mon + 1);
|
||||||
return buf;
|
return buf;
|
||||||
|
|
||||||
case WPS_TOKEN_RTC_MINUTE:
|
case WPS_TOKEN_RTC_MINUTE:
|
||||||
/* M: minute (00..59) */
|
/* M: minute (00..59) */
|
||||||
if (tm->tm_min > 59 || tm->tm_min < 0) return NULL;
|
|
||||||
snprintf(buf, buf_size, "%02d", tm->tm_min);
|
snprintf(buf, buf_size, "%02d", tm->tm_min);
|
||||||
return buf;
|
return buf;
|
||||||
|
|
||||||
case WPS_TOKEN_RTC_SECOND:
|
case WPS_TOKEN_RTC_SECOND:
|
||||||
/* S: second (00..59) */
|
/* S: second (00..59) */
|
||||||
if (tm->tm_sec > 59 || tm->tm_sec < 0) return NULL;
|
|
||||||
snprintf(buf, buf_size, "%02d", tm->tm_sec);
|
snprintf(buf, buf_size, "%02d", tm->tm_sec);
|
||||||
return buf;
|
return buf;
|
||||||
|
|
||||||
|
|
@ -1106,7 +1122,6 @@ static char *get_token_value(struct gui_wps *gwps,
|
||||||
|
|
||||||
case WPS_TOKEN_RTC_YEAR_4_DIGITS:
|
case WPS_TOKEN_RTC_YEAR_4_DIGITS:
|
||||||
/* Y: year (1970...) */
|
/* Y: year (1970...) */
|
||||||
if (tm->tm_year > 199 || tm->tm_year < 100) return NULL;
|
|
||||||
snprintf(buf, buf_size, "%04d", tm->tm_year + 1900);
|
snprintf(buf, buf_size, "%04d", tm->tm_year + 1900);
|
||||||
return buf;
|
return buf;
|
||||||
|
|
||||||
|
|
@ -1122,25 +1137,21 @@ static char *get_token_value(struct gui_wps *gwps,
|
||||||
|
|
||||||
case WPS_TOKEN_RTC_WEEKDAY_NAME:
|
case WPS_TOKEN_RTC_WEEKDAY_NAME:
|
||||||
/* a: abbreviated weekday name (Sun..Sat) */
|
/* a: abbreviated weekday name (Sun..Sat) */
|
||||||
if (tm->tm_wday > 6 || tm->tm_wday < 0) return NULL;
|
|
||||||
snprintf(buf, buf_size, "%s",str(dayname[tm->tm_wday]));
|
snprintf(buf, buf_size, "%s",str(dayname[tm->tm_wday]));
|
||||||
return buf;
|
return buf;
|
||||||
|
|
||||||
case WPS_TOKEN_RTC_MONTH_NAME:
|
case WPS_TOKEN_RTC_MONTH_NAME:
|
||||||
/* b: abbreviated month name (Jan..Dec) */
|
/* b: abbreviated month name (Jan..Dec) */
|
||||||
if (tm->tm_mon > 11 || tm->tm_mon < 0) return NULL;
|
|
||||||
snprintf(buf, buf_size, "%s",str(monthname[tm->tm_mon]));
|
snprintf(buf, buf_size, "%s",str(monthname[tm->tm_mon]));
|
||||||
return buf;
|
return buf;
|
||||||
|
|
||||||
case WPS_TOKEN_RTC_DAY_OF_WEEK_START_MON:
|
case WPS_TOKEN_RTC_DAY_OF_WEEK_START_MON:
|
||||||
/* u: day of week (1..7); 1 is Monday */
|
/* u: day of week (1..7); 1 is Monday */
|
||||||
if (tm->tm_wday > 6 || tm->tm_wday < 0) return NULL;
|
|
||||||
snprintf(buf, buf_size, "%1d", tm->tm_wday + 1);
|
snprintf(buf, buf_size, "%1d", tm->tm_wday + 1);
|
||||||
return buf;
|
return buf;
|
||||||
|
|
||||||
case WPS_TOKEN_RTC_DAY_OF_WEEK_START_SUN:
|
case WPS_TOKEN_RTC_DAY_OF_WEEK_START_SUN:
|
||||||
/* w: day of week (0..6); 0 is Sunday */
|
/* w: day of week (0..6); 0 is Sunday */
|
||||||
if (tm->tm_wday > 6 || tm->tm_wday < 0) return NULL;
|
|
||||||
snprintf(buf, buf_size, "%1d", tm->tm_wday);
|
snprintf(buf, buf_size, "%1d", tm->tm_wday);
|
||||||
return buf;
|
return buf;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -129,7 +129,6 @@ enum wps_token_type {
|
||||||
|
|
||||||
#if CONFIG_RTC
|
#if CONFIG_RTC
|
||||||
/* Time */
|
/* Time */
|
||||||
WPS_TOKEN_RTC,
|
|
||||||
WPS_TOKEN_RTC_DAY_OF_MONTH,
|
WPS_TOKEN_RTC_DAY_OF_MONTH,
|
||||||
WPS_TOKEN_RTC_DAY_OF_MONTH_BLANK_PADDED,
|
WPS_TOKEN_RTC_DAY_OF_MONTH_BLANK_PADDED,
|
||||||
WPS_TOKEN_RTC_HOUR_24_ZERO_PADDED,
|
WPS_TOKEN_RTC_HOUR_24_ZERO_PADDED,
|
||||||
|
|
|
||||||
|
|
@ -135,30 +135,56 @@ void dump_wps_tokens(struct wps_data *data)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#if CONFIG_RTC
|
#if CONFIG_RTC
|
||||||
case WPS_TOKEN_RTC:
|
|
||||||
snprintf(buf, sizeof(buf), "real-time clock",
|
|
||||||
token->value.c);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case WPS_TOKEN_RTC_DAY_OF_MONTH:
|
case WPS_TOKEN_RTC_DAY_OF_MONTH:
|
||||||
|
snprintf(buf, sizeof(buf), "rtc: day of month (01..31)");
|
||||||
|
break;
|
||||||
case WPS_TOKEN_RTC_DAY_OF_MONTH_BLANK_PADDED:
|
case WPS_TOKEN_RTC_DAY_OF_MONTH_BLANK_PADDED:
|
||||||
|
snprintf(buf, sizeof(buf), "rtc: day of month, blank padded ( 1..31)");
|
||||||
|
break;
|
||||||
case WPS_TOKEN_RTC_HOUR_24_ZERO_PADDED:
|
case WPS_TOKEN_RTC_HOUR_24_ZERO_PADDED:
|
||||||
|
snprintf(buf, sizeof(buf), "rtc: hour (00..23)");
|
||||||
|
break;
|
||||||
case WPS_TOKEN_RTC_HOUR_24:
|
case WPS_TOKEN_RTC_HOUR_24:
|
||||||
|
snprintf(buf, sizeof(buf), "rtc: hour ( 0..23)");
|
||||||
|
break;
|
||||||
case WPS_TOKEN_RTC_HOUR_12_ZERO_PADDED:
|
case WPS_TOKEN_RTC_HOUR_12_ZERO_PADDED:
|
||||||
|
snprintf(buf, sizeof(buf), "rtc: hour (01..12)");
|
||||||
|
break;
|
||||||
case WPS_TOKEN_RTC_HOUR_12:
|
case WPS_TOKEN_RTC_HOUR_12:
|
||||||
|
snprintf(buf, sizeof(buf), "rtc: hour ( 1..12)");
|
||||||
|
break;
|
||||||
case WPS_TOKEN_RTC_MONTH:
|
case WPS_TOKEN_RTC_MONTH:
|
||||||
|
snprintf(buf, sizeof(buf), "rtc: month (01..12)");
|
||||||
|
break;
|
||||||
case WPS_TOKEN_RTC_MINUTE:
|
case WPS_TOKEN_RTC_MINUTE:
|
||||||
|
snprintf(buf, sizeof(buf), "rtc: minute (00..59)");
|
||||||
|
break;
|
||||||
case WPS_TOKEN_RTC_SECOND:
|
case WPS_TOKEN_RTC_SECOND:
|
||||||
|
snprintf(buf, sizeof(buf), "rtc: second (00..59)");
|
||||||
|
break;
|
||||||
case WPS_TOKEN_RTC_YEAR_2_DIGITS:
|
case WPS_TOKEN_RTC_YEAR_2_DIGITS:
|
||||||
|
snprintf(buf, sizeof(buf), "rtc: last two digits of year (00..99)");
|
||||||
|
break;
|
||||||
case WPS_TOKEN_RTC_YEAR_4_DIGITS:
|
case WPS_TOKEN_RTC_YEAR_4_DIGITS:
|
||||||
|
snprintf(buf, sizeof(buf), "rtc: year (1970...)");
|
||||||
|
break;
|
||||||
case WPS_TOKEN_RTC_AM_PM_UPPER:
|
case WPS_TOKEN_RTC_AM_PM_UPPER:
|
||||||
|
snprintf(buf, sizeof(buf), "rtc: upper case AM or PM indicator");
|
||||||
|
break;
|
||||||
case WPS_TOKEN_RTC_AM_PM_LOWER:
|
case WPS_TOKEN_RTC_AM_PM_LOWER:
|
||||||
|
snprintf(buf, sizeof(buf), "rtc: lower case am or pm indicator");
|
||||||
|
break;
|
||||||
case WPS_TOKEN_RTC_WEEKDAY_NAME:
|
case WPS_TOKEN_RTC_WEEKDAY_NAME:
|
||||||
|
snprintf(buf, sizeof(buf), "rtc: abbreviated weekday name (Sun..Sat)");
|
||||||
|
break;
|
||||||
case WPS_TOKEN_RTC_MONTH_NAME:
|
case WPS_TOKEN_RTC_MONTH_NAME:
|
||||||
|
snprintf(buf, sizeof(buf), "rtc: abbreviated month name (Jan..Dec)");
|
||||||
|
break;
|
||||||
case WPS_TOKEN_RTC_DAY_OF_WEEK_START_MON:
|
case WPS_TOKEN_RTC_DAY_OF_WEEK_START_MON:
|
||||||
|
snprintf(buf, sizeof(buf), "rtc: day of week (1..7); 1 is Monday");
|
||||||
|
break;
|
||||||
case WPS_TOKEN_RTC_DAY_OF_WEEK_START_SUN:
|
case WPS_TOKEN_RTC_DAY_OF_WEEK_START_SUN:
|
||||||
snprintf(buf, sizeof(buf), "real-time clock tag: %c",
|
snprintf(buf, sizeof(buf), "rtc: day of week (0..6); 0 is Sunday");
|
||||||
token->value.c);
|
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -108,33 +108,6 @@ static int parse_image_display(const char *wps_bufptr,
|
||||||
static int parse_image_load(const char *wps_bufptr,
|
static int parse_image_load(const char *wps_bufptr,
|
||||||
struct wps_token *token, struct wps_data *wps_data);
|
struct wps_token *token, struct wps_data *wps_data);
|
||||||
#endif /*HAVE_LCD_BITMAP */
|
#endif /*HAVE_LCD_BITMAP */
|
||||||
#if CONFIG_RTC
|
|
||||||
static int parse_rtc_format(const char *wps_bufptr,
|
|
||||||
struct wps_token *token, struct wps_data *wps_data);
|
|
||||||
|
|
||||||
/* RTC tokens array */
|
|
||||||
static const struct wps_tag rtc_tags[] = {
|
|
||||||
{ WPS_TOKEN_RTC_DAY_OF_MONTH, "d", 0, NULL },
|
|
||||||
{ WPS_TOKEN_RTC_DAY_OF_MONTH_BLANK_PADDED, "e", 0, NULL },
|
|
||||||
{ WPS_TOKEN_RTC_HOUR_24_ZERO_PADDED, "H", 0, NULL },
|
|
||||||
{ WPS_TOKEN_RTC_HOUR_24, "k", 0, NULL },
|
|
||||||
{ WPS_TOKEN_RTC_HOUR_12_ZERO_PADDED, "I", 0, NULL },
|
|
||||||
{ WPS_TOKEN_RTC_HOUR_12, "l", 0, NULL },
|
|
||||||
{ WPS_TOKEN_RTC_MONTH, "m", 0, NULL },
|
|
||||||
{ WPS_TOKEN_RTC_MINUTE, "M", 0, NULL },
|
|
||||||
{ WPS_TOKEN_RTC_SECOND, "S", 0, NULL },
|
|
||||||
{ WPS_TOKEN_RTC_YEAR_2_DIGITS, "y", 0, NULL },
|
|
||||||
{ WPS_TOKEN_RTC_YEAR_4_DIGITS, "Y", 0, NULL },
|
|
||||||
{ WPS_TOKEN_RTC_AM_PM_UPPER, "p", 0, NULL },
|
|
||||||
{ WPS_TOKEN_RTC_AM_PM_LOWER, "P", 0, NULL },
|
|
||||||
{ WPS_TOKEN_RTC_WEEKDAY_NAME, "a", 0, NULL },
|
|
||||||
{ WPS_TOKEN_RTC_MONTH_NAME, "b", 0, NULL },
|
|
||||||
{ WPS_TOKEN_RTC_DAY_OF_WEEK_START_MON, "u", 0, NULL },
|
|
||||||
{ WPS_TOKEN_RTC_DAY_OF_WEEK_START_SUN, "w", 0, NULL },
|
|
||||||
{ WPS_TOKEN_CHARACTER, "", 0, NULL }
|
|
||||||
/* the array MUST end with an empty string (first char is \0) */
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* array of available tags - those with more characters have to go first
|
/* array of available tags - those with more characters have to go first
|
||||||
(e.g. "xl" and "xd" before "x"). It needs to end with the unknown token. */
|
(e.g. "xl" and "xd" before "x"). It needs to end with the unknown token. */
|
||||||
|
|
@ -156,7 +129,23 @@ static const struct wps_tag all_tags[] = {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CONFIG_RTC
|
#if CONFIG_RTC
|
||||||
{ WPS_TOKEN_RTC, "c", WPS_REFRESH_DYNAMIC, parse_rtc_format },
|
{ WPS_TOKEN_RTC_DAY_OF_MONTH, "cd", WPS_REFRESH_DYNAMIC, NULL },
|
||||||
|
{ WPS_TOKEN_RTC_DAY_OF_MONTH_BLANK_PADDED, "ce", WPS_REFRESH_DYNAMIC, NULL },
|
||||||
|
{ WPS_TOKEN_RTC_HOUR_24_ZERO_PADDED, "cH", WPS_REFRESH_DYNAMIC, NULL },
|
||||||
|
{ WPS_TOKEN_RTC_HOUR_24, "ck", WPS_REFRESH_DYNAMIC, NULL },
|
||||||
|
{ WPS_TOKEN_RTC_HOUR_12_ZERO_PADDED, "cI", WPS_REFRESH_DYNAMIC, NULL },
|
||||||
|
{ WPS_TOKEN_RTC_HOUR_12, "cl", WPS_REFRESH_DYNAMIC, NULL },
|
||||||
|
{ WPS_TOKEN_RTC_MONTH, "cm", WPS_REFRESH_DYNAMIC, NULL },
|
||||||
|
{ WPS_TOKEN_RTC_MINUTE, "cM", WPS_REFRESH_DYNAMIC, NULL },
|
||||||
|
{ WPS_TOKEN_RTC_SECOND, "cS", WPS_REFRESH_DYNAMIC, NULL },
|
||||||
|
{ WPS_TOKEN_RTC_YEAR_2_DIGITS, "cy", WPS_REFRESH_DYNAMIC, NULL },
|
||||||
|
{ WPS_TOKEN_RTC_YEAR_4_DIGITS, "cY", WPS_REFRESH_DYNAMIC, NULL },
|
||||||
|
{ WPS_TOKEN_RTC_AM_PM_UPPER, "cP", WPS_REFRESH_DYNAMIC, NULL },
|
||||||
|
{ WPS_TOKEN_RTC_AM_PM_LOWER, "cp", WPS_REFRESH_DYNAMIC, NULL },
|
||||||
|
{ WPS_TOKEN_RTC_WEEKDAY_NAME, "ca", WPS_REFRESH_DYNAMIC, NULL },
|
||||||
|
{ WPS_TOKEN_RTC_MONTH_NAME, "cb", WPS_REFRESH_DYNAMIC, NULL },
|
||||||
|
{ WPS_TOKEN_RTC_DAY_OF_WEEK_START_MON, "cu", WPS_REFRESH_DYNAMIC, NULL },
|
||||||
|
{ WPS_TOKEN_RTC_DAY_OF_WEEK_START_SUN, "cw", WPS_REFRESH_DYNAMIC, NULL },
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* current file */
|
/* current file */
|
||||||
|
|
@ -286,37 +275,6 @@ static void wps_start_new_subline(struct wps_data *data) {
|
||||||
data->lines[data->num_lines].num_sublines++;
|
data->lines[data->num_lines].num_sublines++;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_RTC
|
|
||||||
static int parse_rtc_format(const char *wps_bufptr,
|
|
||||||
struct wps_token *token,
|
|
||||||
struct wps_data *wps_data)
|
|
||||||
{
|
|
||||||
int skip = 0, i;
|
|
||||||
(void)token; /* kill the warning */
|
|
||||||
|
|
||||||
/* RTC tag format ends with a c or a newline */
|
|
||||||
while (wps_bufptr && *wps_bufptr != 'c' && *wps_bufptr != '\n')
|
|
||||||
{
|
|
||||||
/* find what format char we have */
|
|
||||||
i = 0;
|
|
||||||
while (*(rtc_tags[i].name) && *wps_bufptr != *(rtc_tags[i].name))
|
|
||||||
i++;
|
|
||||||
|
|
||||||
wps_data->num_tokens++;
|
|
||||||
wps_data->tokens[wps_data->num_tokens].type = rtc_tags[i].type;
|
|
||||||
wps_data->tokens[wps_data->num_tokens].value.c = *wps_bufptr;
|
|
||||||
skip++;
|
|
||||||
wps_bufptr++;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* eat the unwanted c at the end of the format */
|
|
||||||
if (*wps_bufptr == 'c')
|
|
||||||
skip++;
|
|
||||||
|
|
||||||
return skip;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HAVE_LCD_BITMAP
|
#ifdef HAVE_LCD_BITMAP
|
||||||
|
|
||||||
static int parse_statusbar_enable(const char *wps_bufptr,
|
static int parse_statusbar_enable(const char *wps_bufptr,
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@
|
||||||
%xl|T|pwr-colour.bmp|210|10|
|
%xl|T|pwr-colour.bmp|210|10|
|
||||||
%xl|y|led-colour.bmp|192|12|
|
%xl|y|led-colour.bmp|192|12|
|
||||||
%wd
|
%wd
|
||||||
%ar%ca, b d H:Mc
|
%ar%ca, %cb %cd %cH:%cM
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue