2007-02-03 05:05:30 -08:00
|
|
|
#include "Efreet.h"
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <string.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
|
|
|
int
|
|
|
|
ef_cb_efreet_data_home(void)
|
|
|
|
{
|
|
|
|
const char *tmp;
|
|
|
|
int ret = 1;
|
|
|
|
|
2007-03-26 09:31:10 -07:00
|
|
|
efreet_shutdown();
|
2007-03-26 09:53:56 -07:00
|
|
|
setenv("XDG_DATA_HOME", "/var/tmp", 1);
|
2007-03-26 09:31:10 -07:00
|
|
|
efreet_init();
|
|
|
|
|
2007-02-03 05:05:30 -08:00
|
|
|
tmp = efreet_data_home_get();
|
|
|
|
if (strcmp(tmp, "/var/tmp"))
|
|
|
|
{
|
|
|
|
printf("efreet_data_home_get() returned incorrect "
|
2007-03-26 09:31:10 -07:00
|
|
|
"value (%s) on XDG_DATA_HOME=/var/tmp\n", tmp);
|
2007-02-03 05:05:30 -08:00
|
|
|
ret = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* reset efreet here so we can set a new home dir */
|
|
|
|
efreet_shutdown();
|
2007-03-26 10:00:17 -07:00
|
|
|
unsetenv("XDG_DATA_HOME");
|
2007-03-26 09:53:56 -07:00
|
|
|
setenv("HOME", "/home/tmp", 1);
|
2007-02-03 05:05:30 -08:00
|
|
|
efreet_init();
|
|
|
|
|
|
|
|
tmp = efreet_data_home_get();
|
|
|
|
if (strcmp(tmp, "/home/tmp/.local/share"))
|
|
|
|
{
|
|
|
|
printf("efreet_data_home_get() returned incorrect "
|
2007-03-26 09:31:10 -07:00
|
|
|
"value (%s) on blank XDG_DATA_HOME\n", tmp);
|
2007-02-03 05:05:30 -08:00
|
|
|
ret = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* reset efreet here so we can set a new home dir */
|
|
|
|
efreet_shutdown();
|
2007-03-26 10:00:17 -07:00
|
|
|
unsetenv("XDG_DATA_HOME");
|
|
|
|
unsetenv("HOME");
|
2009-06-20 09:18:17 -07:00
|
|
|
#ifdef _WIN32
|
|
|
|
unsetenv("USERPROFILE");
|
|
|
|
#endif
|
2007-02-03 05:05:30 -08:00
|
|
|
efreet_init();
|
|
|
|
|
|
|
|
tmp = efreet_data_home_get();
|
|
|
|
if (strcmp(tmp, "/tmp/.local/share"))
|
|
|
|
{
|
|
|
|
printf("efreet_data_home_get() returned incorrect "
|
|
|
|
"value (%s) on blank XDG_DATA_HOME and blank HOME\n", tmp);
|
|
|
|
ret = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
int
|
|
|
|
ef_cb_efreet_config_home(void)
|
|
|
|
{
|
|
|
|
const char *tmp;
|
|
|
|
int ret = 1;
|
|
|
|
|
2007-03-26 09:31:10 -07:00
|
|
|
efreet_shutdown();
|
2007-03-26 09:53:56 -07:00
|
|
|
setenv("XDG_CONFIG_HOME", "/var/tmp", 1);
|
2007-03-26 09:31:10 -07:00
|
|
|
efreet_init();
|
|
|
|
|
2007-02-03 05:05:30 -08:00
|
|
|
tmp = efreet_config_home_get();
|
|
|
|
if (strcmp(tmp, "/var/tmp"))
|
|
|
|
{
|
|
|
|
printf("efreet_config_home_get() returned incorrect "
|
2007-03-26 09:31:10 -07:00
|
|
|
"value (%s) on XDG_CONFIG_HOME=/var/tmp\n", tmp);
|
2007-02-03 05:05:30 -08:00
|
|
|
ret = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* reset efreet here so we can set a new home dir */
|
|
|
|
efreet_shutdown();
|
2007-03-26 10:00:17 -07:00
|
|
|
unsetenv("XDG_CONFIG_HOME");
|
2007-03-26 09:53:56 -07:00
|
|
|
setenv("HOME", "/home/tmp", 1);
|
2007-02-03 05:05:30 -08:00
|
|
|
efreet_init();
|
|
|
|
|
|
|
|
tmp = efreet_config_home_get();
|
|
|
|
if (strcmp(tmp, "/home/tmp/.config"))
|
|
|
|
{
|
|
|
|
printf("efreet_config_home_get() returned incorrect "
|
2007-03-26 09:31:10 -07:00
|
|
|
"value (%s) on blank XDG_CONFIG_HOME\n", tmp);
|
2007-02-03 05:05:30 -08:00
|
|
|
ret = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* reset efreet here so we can set a new home dir */
|
|
|
|
efreet_shutdown();
|
2007-03-26 10:00:17 -07:00
|
|
|
unsetenv("XDG_CONFIG_HOME");
|
|
|
|
unsetenv("HOME");
|
2009-06-20 09:18:17 -07:00
|
|
|
#ifdef _WIN32
|
|
|
|
unsetenv("USERPROFILE");
|
|
|
|
#endif
|
2007-02-03 05:05:30 -08:00
|
|
|
efreet_init();
|
|
|
|
|
|
|
|
tmp = efreet_config_home_get();
|
|
|
|
if (strcmp(tmp, "/tmp/.config"))
|
|
|
|
{
|
|
|
|
printf("efreet_config_home_get() returned incorrect "
|
|
|
|
"value (%s) on blank XDG_CONFIG_HOME and blank HOME\n", tmp);
|
|
|
|
ret = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
int
|
|
|
|
ef_cb_efreet_cache_home(void)
|
|
|
|
{
|
|
|
|
const char *tmp;
|
|
|
|
int ret = 1;
|
|
|
|
|
2007-03-26 09:31:10 -07:00
|
|
|
efreet_shutdown();
|
2007-03-26 09:53:56 -07:00
|
|
|
setenv("XDG_CACHE_HOME", "/var/tmp", 1);
|
2007-03-26 09:31:10 -07:00
|
|
|
efreet_init();
|
|
|
|
|
2007-02-03 05:05:30 -08:00
|
|
|
tmp = efreet_cache_home_get();
|
|
|
|
if (strcmp(tmp, "/var/tmp"))
|
|
|
|
{
|
|
|
|
printf("efreet_cache_home_get() returned incorrect "
|
2007-03-26 09:31:10 -07:00
|
|
|
"value (%s) on XDG_CACHE_HOME=/var/tmp\n", tmp);
|
2007-02-03 05:05:30 -08:00
|
|
|
ret = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* reset efreet here so we can set a new home dir */
|
|
|
|
efreet_shutdown();
|
2007-03-26 10:00:17 -07:00
|
|
|
unsetenv("XDG_CACHE_HOME");
|
2007-03-26 09:53:56 -07:00
|
|
|
setenv("HOME", "/home/tmp", 1);
|
2007-02-03 05:05:30 -08:00
|
|
|
efreet_init();
|
|
|
|
|
|
|
|
tmp = efreet_cache_home_get();
|
|
|
|
if (strcmp(tmp, "/home/tmp/.cache"))
|
|
|
|
{
|
|
|
|
printf("efreet_cache_home_get() returned incorrect "
|
2007-03-26 09:31:10 -07:00
|
|
|
"value (%s) on blank XDG_CACHE_HOME\n", tmp);
|
2007-02-03 05:05:30 -08:00
|
|
|
ret = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* reset efreet here so we can set a new home dir */
|
|
|
|
efreet_shutdown();
|
2007-03-26 10:00:17 -07:00
|
|
|
unsetenv("XDG_CACHE_HOME");
|
|
|
|
unsetenv("HOME");
|
2009-06-20 09:18:17 -07:00
|
|
|
#ifdef _WIN32
|
|
|
|
unsetenv("USERPROFILE");
|
|
|
|
#endif
|
2007-02-03 05:05:30 -08:00
|
|
|
efreet_init();
|
|
|
|
|
|
|
|
tmp = efreet_cache_home_get();
|
|
|
|
if (strcmp(tmp, "/tmp/.cache"))
|
|
|
|
{
|
|
|
|
printf("efreet_cache_home_get() returned incorrect "
|
|
|
|
"value (%s) on blank XDG_CACHE_HOME and blank HOME\n", tmp);
|
|
|
|
ret = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
int
|
|
|
|
ef_cb_efreet_data_dirs(void)
|
|
|
|
{
|
* estickies,
* etk,
* PROTO/exalt,
* E-MODULES-EXTRA/diskio,
* E-MODULES-EXTRA/drawer,
* E-MODULES-EXTRA/penguins,
* E-MODULES-EXTRA/slideshow,
* E-MODULES-EXTRA/mail,
* E-MODULES-EXTRA/forecasts,
* E-MODULES-EXTRA/iiirk,
* E-MODULES-EXTRA/places,
* e,
* ewl,
* ecore,
* elitaire,
* entrance,
* e_dbus,
* efreet: Here we go, move from Ecore_List to Eina_List.
NOTE: This patch is huge, I did test it a lot, and I hope nothing is
broken. But if you think something change after this commit, please
contact me ASAP.
SVN revision: 39200
2009-02-25 03:03:47 -08:00
|
|
|
Eina_List *tmp, *l;
|
2007-02-03 05:05:30 -08:00
|
|
|
int ret = 1, i;
|
|
|
|
char dirs[128], *val;
|
|
|
|
char *vals[] = {"/var/tmp/a", "/tmp/b", "/usr/local/share", "/etc", NULL};
|
2010-03-01 10:16:32 -08:00
|
|
|
char *def_vals[] = {PACKAGE_DATA_DIR, "/usr/share", "/usr/local/share", NULL};
|
2007-02-03 05:05:30 -08:00
|
|
|
|
|
|
|
dirs[0] = '\0';
|
2010-08-21 06:52:25 -07:00
|
|
|
for (i = 0; vals[i]; i++)
|
2007-02-03 05:05:30 -08:00
|
|
|
{
|
|
|
|
if (i > 0) strcat(dirs, ":");
|
|
|
|
strcat(dirs, vals[i]);
|
|
|
|
}
|
|
|
|
|
2007-03-26 09:31:10 -07:00
|
|
|
efreet_shutdown();
|
2007-03-26 09:53:56 -07:00
|
|
|
setenv("XDG_DATA_DIRS", dirs, 1);
|
2007-03-26 09:31:10 -07:00
|
|
|
efreet_init();
|
|
|
|
|
2007-02-03 05:05:30 -08:00
|
|
|
i = 0;
|
|
|
|
tmp = efreet_data_dirs_get();
|
* estickies,
* etk,
* PROTO/exalt,
* E-MODULES-EXTRA/diskio,
* E-MODULES-EXTRA/drawer,
* E-MODULES-EXTRA/penguins,
* E-MODULES-EXTRA/slideshow,
* E-MODULES-EXTRA/mail,
* E-MODULES-EXTRA/forecasts,
* E-MODULES-EXTRA/iiirk,
* E-MODULES-EXTRA/places,
* e,
* ewl,
* ecore,
* elitaire,
* entrance,
* e_dbus,
* efreet: Here we go, move from Ecore_List to Eina_List.
NOTE: This patch is huge, I did test it a lot, and I hope nothing is
broken. But if you think something change after this commit, please
contact me ASAP.
SVN revision: 39200
2009-02-25 03:03:47 -08:00
|
|
|
EINA_LIST_FOREACH(tmp, l, val)
|
2007-02-03 05:05:30 -08:00
|
|
|
{
|
2010-08-21 06:52:25 -07:00
|
|
|
if (!vals[i])
|
2007-02-03 05:05:30 -08:00
|
|
|
{
|
|
|
|
printf("efreet_data_dirs_get() returned more values then it "
|
|
|
|
"should have given %s as input\n", dirs);
|
|
|
|
ret = 0;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (strcmp(val, vals[i]))
|
|
|
|
{
|
|
|
|
printf("efreet_data_dirs_get() returned incorrect value (%s) when "
|
|
|
|
"%s set\n", val, dirs);
|
|
|
|
ret = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
i++;
|
|
|
|
}
|
|
|
|
|
|
|
|
efreet_shutdown();
|
2007-03-26 10:00:17 -07:00
|
|
|
unsetenv("XDG_DATA_DIRS");
|
2007-02-03 05:05:30 -08:00
|
|
|
efreet_init();
|
|
|
|
|
|
|
|
i = 0;
|
|
|
|
tmp = efreet_data_dirs_get();
|
2010-03-01 10:16:32 -08:00
|
|
|
if (eina_list_count(tmp) != 3)
|
2007-06-18 11:01:37 -07:00
|
|
|
{
|
|
|
|
printf("efreet_data_dirs_get() nodes is differnet from expected default\n");
|
|
|
|
ret = 0;
|
|
|
|
}
|
|
|
|
|
* estickies,
* etk,
* PROTO/exalt,
* E-MODULES-EXTRA/diskio,
* E-MODULES-EXTRA/drawer,
* E-MODULES-EXTRA/penguins,
* E-MODULES-EXTRA/slideshow,
* E-MODULES-EXTRA/mail,
* E-MODULES-EXTRA/forecasts,
* E-MODULES-EXTRA/iiirk,
* E-MODULES-EXTRA/places,
* e,
* ewl,
* ecore,
* elitaire,
* entrance,
* e_dbus,
* efreet: Here we go, move from Ecore_List to Eina_List.
NOTE: This patch is huge, I did test it a lot, and I hope nothing is
broken. But if you think something change after this commit, please
contact me ASAP.
SVN revision: 39200
2009-02-25 03:03:47 -08:00
|
|
|
EINA_LIST_FOREACH(tmp, l, val)
|
2007-02-03 05:05:30 -08:00
|
|
|
{
|
2010-08-21 06:52:25 -07:00
|
|
|
if (!def_vals[i])
|
2007-02-03 05:05:30 -08:00
|
|
|
{
|
|
|
|
printf("efreet_data_dirs_get() returned more values then it "
|
|
|
|
"should have given %s as input\n", dirs);
|
|
|
|
ret = 0;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (strcmp(val, def_vals[i]))
|
|
|
|
{
|
|
|
|
printf("efreet_data_dirs_get() returned incorrect value (%s) when "
|
2010-03-01 10:16:32 -08:00
|
|
|
"XDG_DATA_DIRS= is set %s\n", val, def_vals[i]);
|
2007-02-03 05:05:30 -08:00
|
|
|
ret = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
i++;
|
|
|
|
}
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
int
|
|
|
|
ef_cb_efreet_config_dirs(void)
|
|
|
|
{
|
* estickies,
* etk,
* PROTO/exalt,
* E-MODULES-EXTRA/diskio,
* E-MODULES-EXTRA/drawer,
* E-MODULES-EXTRA/penguins,
* E-MODULES-EXTRA/slideshow,
* E-MODULES-EXTRA/mail,
* E-MODULES-EXTRA/forecasts,
* E-MODULES-EXTRA/iiirk,
* E-MODULES-EXTRA/places,
* e,
* ewl,
* ecore,
* elitaire,
* entrance,
* e_dbus,
* efreet: Here we go, move from Ecore_List to Eina_List.
NOTE: This patch is huge, I did test it a lot, and I hope nothing is
broken. But if you think something change after this commit, please
contact me ASAP.
SVN revision: 39200
2009-02-25 03:03:47 -08:00
|
|
|
Eina_List *tmp, *l;
|
2007-02-03 05:05:30 -08:00
|
|
|
int ret = 1, i;
|
|
|
|
char dirs[128], *val;
|
|
|
|
char *vals[] = {"/var/tmp/a", "/tmp/b", "/usr/local/share", "/etc", NULL};
|
|
|
|
char *def_vals[] = {"/etc/xdg", NULL};
|
2007-09-06 09:15:10 -07:00
|
|
|
|
2007-02-03 05:05:30 -08:00
|
|
|
dirs[0] = '\0';
|
|
|
|
|
2010-08-21 06:52:25 -07:00
|
|
|
for (i = 0; vals[i]; i++)
|
2007-02-03 05:05:30 -08:00
|
|
|
{
|
|
|
|
if (i > 0) strcat(dirs, ":");
|
|
|
|
strcat(dirs, vals[i]);
|
|
|
|
}
|
|
|
|
|
2007-03-26 09:31:10 -07:00
|
|
|
efreet_shutdown();
|
2007-03-26 09:53:56 -07:00
|
|
|
setenv("XDG_CONFIG_DIRS", dirs, 1);
|
2007-03-26 09:31:10 -07:00
|
|
|
efreet_init();
|
|
|
|
|
2007-02-03 05:05:30 -08:00
|
|
|
i = 0;
|
|
|
|
tmp = efreet_config_dirs_get();
|
* estickies,
* etk,
* PROTO/exalt,
* E-MODULES-EXTRA/diskio,
* E-MODULES-EXTRA/drawer,
* E-MODULES-EXTRA/penguins,
* E-MODULES-EXTRA/slideshow,
* E-MODULES-EXTRA/mail,
* E-MODULES-EXTRA/forecasts,
* E-MODULES-EXTRA/iiirk,
* E-MODULES-EXTRA/places,
* e,
* ewl,
* ecore,
* elitaire,
* entrance,
* e_dbus,
* efreet: Here we go, move from Ecore_List to Eina_List.
NOTE: This patch is huge, I did test it a lot, and I hope nothing is
broken. But if you think something change after this commit, please
contact me ASAP.
SVN revision: 39200
2009-02-25 03:03:47 -08:00
|
|
|
EINA_LIST_FOREACH(tmp, l, val)
|
2007-02-03 05:05:30 -08:00
|
|
|
{
|
2010-08-21 06:52:25 -07:00
|
|
|
if (!vals[i])
|
2007-02-03 05:05:30 -08:00
|
|
|
{
|
|
|
|
printf("efreet_config_dirs_get() returned more values then it "
|
|
|
|
"should have given %s as input\n", dirs);
|
|
|
|
ret = 0;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (strcmp(val, vals[i]))
|
|
|
|
{
|
|
|
|
printf("efreet_config_dirs_get() returned incorrect value (%s) when "
|
|
|
|
"%s set\n", val, dirs);
|
|
|
|
ret = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
i++;
|
|
|
|
}
|
|
|
|
|
|
|
|
efreet_shutdown();
|
2007-03-26 10:00:17 -07:00
|
|
|
unsetenv("XDG_CONFIG_DIRS");
|
2007-02-03 05:05:30 -08:00
|
|
|
efreet_init();
|
|
|
|
|
|
|
|
i = 0;
|
|
|
|
tmp = efreet_config_dirs_get();
|
* estickies,
* etk,
* PROTO/exalt,
* E-MODULES-EXTRA/diskio,
* E-MODULES-EXTRA/drawer,
* E-MODULES-EXTRA/penguins,
* E-MODULES-EXTRA/slideshow,
* E-MODULES-EXTRA/mail,
* E-MODULES-EXTRA/forecasts,
* E-MODULES-EXTRA/iiirk,
* E-MODULES-EXTRA/places,
* e,
* ewl,
* ecore,
* elitaire,
* entrance,
* e_dbus,
* efreet: Here we go, move from Ecore_List to Eina_List.
NOTE: This patch is huge, I did test it a lot, and I hope nothing is
broken. But if you think something change after this commit, please
contact me ASAP.
SVN revision: 39200
2009-02-25 03:03:47 -08:00
|
|
|
EINA_LIST_FOREACH(tmp, l, val)
|
2007-02-03 05:05:30 -08:00
|
|
|
{
|
2010-08-21 06:52:25 -07:00
|
|
|
if (!def_vals[i])
|
2007-02-03 05:05:30 -08:00
|
|
|
{
|
|
|
|
printf("efreet_config_dirs_get() returned more values then it "
|
|
|
|
"should have given %s as input\n", dirs);
|
|
|
|
ret = 0;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (strcmp(val, def_vals[i]))
|
|
|
|
{
|
|
|
|
printf("efreet_config_dirs_get() returned incorrect value (%s) when "
|
|
|
|
"XDG_CONFIG_DIRS= is set\n", val);
|
|
|
|
ret = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
i++;
|
|
|
|
}
|
|
|
|
return ret;
|
|
|
|
}
|