return ply_strtod (raw_value);
}
-double
-ply_key_file_get_long (ply_key_file_t *key_file,
- const char *group,
- const char *key,
- long default_value)
+unsigned long
+ply_key_file_get_ulong (ply_key_file_t *key_file,
+ const char *group,
+ const char *key,
+ unsigned long default_value)
{
char *raw_value = ply_key_file_get_raw_value (key_file, group, key);
+ char *endptr = NULL;
+ unsigned long u;
if (!raw_value)
return default_value;
- return strtol (raw_value, NULL, 0);
+ u = strtoul (raw_value, &endptr, 0);
+ if (*endptr != '\0') {
+ ply_trace ("group '%s' key '%s' val '%s' is not a valid unsigned number",
+ group, key, raw_value);
+ return default_value;
+ }
+
+ return u;
}
static void
plugin->monospace_font = strdup ("monospace 10");
plugin->console_text_color =
- ply_key_file_get_long (key_file, "fade-throbber",
- "ConsoleLogTextColor",
- PLY_CONSOLE_VIEWER_LOG_TEXT_COLOR);
+ ply_key_file_get_ulong (key_file, "fade-throbber",
+ "ConsoleLogTextColor",
+ PLY_CONSOLE_VIEWER_LOG_TEXT_COLOR);
plugin->console_background_color =
- ply_key_file_get_long (key_file, "fade-throbber",
- "ConsoleLogBackgroundColor",
- 0x00000000);
+ ply_key_file_get_ulong (key_file, "fade-throbber",
+ "ConsoleLogBackgroundColor",
+ 0x00000000);
plugin->image_dir = image_dir;
plugin->monospace_font = strdup ("monospace 10");
plugin->console_text_color =
- ply_key_file_get_long (key_file, "script",
- "ConsoleLogTextColor",
- PLY_CONSOLE_VIEWER_LOG_TEXT_COLOR);
+ ply_key_file_get_ulong (key_file, "script",
+ "ConsoleLogTextColor",
+ PLY_CONSOLE_VIEWER_LOG_TEXT_COLOR);
plugin->console_background_color =
- ply_key_file_get_long (key_file, "script",
- "ConsoleLogBackgroundColor",
- 0x00000000);
+ ply_key_file_get_ulong (key_file, "script",
+ "ConsoleLogBackgroundColor",
+ 0x00000000);
plugin->displays = ply_list_new ();
plugin->monospace_font = strdup ("monospace 10");
plugin->console_text_color =
- ply_key_file_get_long (key_file, "space-flares",
- "ConsoleLogTextColor",
- PLY_CONSOLE_VIEWER_LOG_TEXT_COLOR);
+ ply_key_file_get_ulong (key_file, "space-flares",
+ "ConsoleLogTextColor",
+ PLY_CONSOLE_VIEWER_LOG_TEXT_COLOR);
plugin->console_background_color =
- ply_key_file_get_long (key_file, "space-flares",
- "ConsoleLogBackgroundColor",
- 0x00000000);
+ ply_key_file_get_ulong (key_file, "space-flares",
+ "ConsoleLogBackgroundColor",
+ 0x00000000);
plugin->state = PLY_BOOT_SPLASH_DISPLAY_NORMAL;
plugin->progress = 0;
plugin->console_text_color =
- ply_key_file_get_long (key_file, "two-step",
- "ConsoleLogTextColor",
- PLY_CONSOLE_VIEWER_LOG_TEXT_COLOR);
+ ply_key_file_get_ulong (key_file, "two-step",
+ "ConsoleLogTextColor",
+ PLY_CONSOLE_VIEWER_LOG_TEXT_COLOR);
plugin->console_background_color =
- ply_key_file_get_long (key_file, "two-step",
- "ConsoleLogBackgroundColor",
- 0x00000000);
+ ply_key_file_get_ulong (key_file, "two-step",
+ "ConsoleLogBackgroundColor",
+ 0x00000000);
plugin->transition_duration =
ply_key_file_get_double (key_file, "two-step",
"TransitionDuration", 0.0);
plugin->background_start_color =
- ply_key_file_get_long (key_file, "two-step",
- "BackgroundStartColor",
- PLYMOUTH_BACKGROUND_START_COLOR);
+ ply_key_file_get_ulong (key_file, "two-step",
+ "BackgroundStartColor",
+ PLYMOUTH_BACKGROUND_START_COLOR);
plugin->background_end_color =
- ply_key_file_get_long (key_file, "two-step",
- "BackgroundEndColor",
- PLYMOUTH_BACKGROUND_END_COLOR);
+ ply_key_file_get_ulong (key_file, "two-step",
+ "BackgroundEndColor",
+ PLYMOUTH_BACKGROUND_END_COLOR);
plugin->progress_bar_bg_color =
- ply_key_file_get_long (key_file, "two-step",
- "ProgressBarBackgroundColor",
- 0xffffff /* white */);
+ ply_key_file_get_ulong (key_file, "two-step",
+ "ProgressBarBackgroundColor",
+ 0xffffff /* white */);
plugin->progress_bar_fg_color =
- ply_key_file_get_long (key_file, "two-step",
- "ProgressBarForegroundColor",
- 0x000000 /* black */);
+ ply_key_file_get_ulong (key_file, "two-step",
+ "ProgressBarForegroundColor",
+ 0x000000 /* black */);
plugin->progress_bar_width =
- ply_key_file_get_long (key_file, "two-step",
- "ProgressBarWidth",
- PROGRESS_BAR_WIDTH);
+ ply_key_file_get_ulong (key_file, "two-step",
+ "ProgressBarWidth",
+ PROGRESS_BAR_WIDTH);
plugin->progress_bar_height =
- ply_key_file_get_long (key_file, "two-step",
- "ProgressBarHeight",
- PROGRESS_BAR_HEIGHT);
+ ply_key_file_get_ulong (key_file, "two-step",
+ "ProgressBarHeight",
+ PROGRESS_BAR_HEIGHT);
load_mode_settings (plugin, key_file, "boot-up", PLY_BOOT_SPLASH_MODE_BOOT_UP);
load_mode_settings (plugin, key_file, "shutdown", PLY_BOOT_SPLASH_MODE_SHUTDOWN);