On 1/10/10, Enlightenment SVN <no-re...@enlightenment.org> wrote:
> +   data = eet_read(ef, "config", &data_len);
> +   if ((data) && (data_len > 0))
> +     {
> +        int ok = 1;
> +
> +        for (s = data; s < (data + data_len); s++)
> +          {
> +             // if profile is not all ascii (valid printable ascii - no
> +             // control codes etc.) or it contains a '/' (invalid as its a
> +             // directory delimiter) - then it's invalid
> +             if ((*s < ' ') || (*s > '~') || (*s == '/'))

i'd strip trailing \n as peplope usint eet + echo and forget to omit
trailing newline will suffer

> +               {
> +                  ok = 0;
> +                  break;

s = NULL?


> +               }
> +          }
> +        if (ok)
> +          {
> +             s = malloc(data_len + 1);
> +             if (s)
> +               {
> +                  memcpy(s, data, data_len);
> +                  s[data_len] = 0;
> +               }
> +          }

or: else s = NULL


> +        free(data);
> +     }
> +   return s;
> +}
> +
>  /* externally accessible functions */
>  EAPI int
>  e_config_init(void)
> @@ -68,7 +105,13 @@
>      /* try user profile config */
>      e_user_dir_concat_static(buf, "config/profile.cfg");
>      ef = eet_open(buf, EET_FILE_MODE_READ);
> -    if (!ef)
> +        if (ef)
> +          {
> +             _e_config_profile = _e_config_profile_name_get(ef);
> +             eet_close(ef);
> +             ef = NULL;
> +          }
> +    if (!_e_config_profile)
>        {
>               int i;
>
> @@ -76,36 +119,29 @@
>                 {
>                    e_user_dir_snprintf(buf, sizeof(buf),
> "config/profile.%i.cfg", i);
>                    ef = eet_open(buf, EET_FILE_MODE_READ);
> -                  if (ef) break;
> +                  if (ef)
> +                    {
> +                       _e_config_profile = _e_config_profile_name_get(ef);
> +                       eet_close(ef);
> +                       ef = NULL;
> +                       if (_e_config_profile) break;
> +                    }
>                 }
> -             if (!ef)
> +             if (!_e_config_profile)
>                 {
>                    /* use system if no user profile config */
>                    e_prefix_data_concat_static(buf,
> "data/config/profile.cfg");
>                    ef = eet_open(buf, EET_FILE_MODE_READ);
>                 }
>        }
> -    if (ef)
> +        if (ef)
> +          {
> +             _e_config_profile = _e_config_profile_name_get(ef);
> +             eet_close(ef);
> +             ef = NULL;
> +          }
> +        if (!_e_config_profile)
>        {
> -         /* profile config exists */
> -         char *data;
> -         int data_len = 0;
> -
> -         data = eet_read(ef, "config", &data_len);
> -         if ((data) && (data_len > 0))
> -           {
> -          _e_config_profile = malloc(data_len + 1);
> -          if (_e_config_profile)
> -            {
> -               memcpy(_e_config_profile, data, data_len);
> -               _e_config_profile[data_len] = 0;
> -            }
> -          free(data);
> -           }
> -         eet_close(ef);
> -      }
> -    else
> -      {
>           /* no profile config - try other means */
>           char *link = NULL;
>
> @@ -1438,7 +1474,7 @@
>           ret = ecore_file_mv(buf2, buf);
>           if (!ret)
>             {
> -          printf("*** Error saving profile. ***");
> +          printf("*** Error saving config. ***");
>             }
>        }
>      ecore_file_unlink(buf2);
>
> Modified: trunk/e/x-ui.sh
> ===================================================================
> --- trunk/e/x-ui.sh    2010-01-10 06:24:30 UTC (rev 45013)
> +++ trunk/e/x-ui.sh    2010-01-10 16:25:26 UTC (rev 45014)
> @@ -6,12 +6,13 @@
>  #Xephyr :1 -noreset -ac -br -dpi 186 -screen 480x272x16 &
>  #Xephyr :1 -noreset -ac -br -dpi 181 -screen 320x320x16 &
>  #Xephyr :1 -noreset -ac -br -dpi 183 -screen 320x480x16 -host-cursor &
> -Xephyr :1 -noreset -ac -br -dpi 183 -screen 480x320x16 -host-cursor &
> +#Xephyr :1 -noreset -ac -br -dpi 183 -screen 480x320x16 -host-cursor &
>  #Xephyr :1 -noreset -ac -br -dpi 183 -screen 480x800x16 &
>  #Xephyr :1 -noreset -ac -br -dpi 183 -screen 800x480x16 &
>  #Xephyr :1 -noreset -ac -br -dpi 284 -screen 480x640x16 &
>  #Xephyr :1 -noreset -ac -br -dpi 284 -screen 640x480x16 -host-cursor &
>
> +Xephyr :1 -noreset -ac -br -dpi 284 -screen 480x800 -host-cursor &
>  #Xephyr :1 -noreset -ac -br -dpi 284 -screen 480x640 &
>  #Xephyr :1 -noreset -ac -br -dpi 284 -screen 640x480 &
>  #Xephyr :1 -noreset -ac -br -dpi 181 -screen 320x320 &
>
>
> ------------------------------------------------------------------------------
> This SF.Net email is sponsored by the Verizon Developer Community
> Take advantage of Verizon's best-in-class app development support
> A streamlined, 14 day to market process makes app distribution fast and easy
> Join now and get one step closer to millions of Verizon customers
> http://p.sf.net/sfu/verizon-dev2dev
> _______________________________________________
> enlightenment-svn mailing list
> enlightenment-...@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
>


-- 
Gustavo Sverzut Barbieri
http://profusion.mobi embedded systems
--------------------------------------
MSN: barbi...@gmail.com
Skype: gsbarbieri
Mobile: +55 (19) 9225-2202

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to