On Wed, 15 Jun 2011, Enlightenment SVN wrote:
> Log: > From: Ulrich Eckhardt <dooms...@knuut.de> > Subject: [E-devel] Provide sensible errors for edje utilities > > If you start edje_player or edje_inspector with a path to a file that doesn't > exist you get a bogus error message saying that the file doesn't contain any > groups. The attached patch uses access() to check if the program can read the > file, giving a sensible error message if not. > > I have checked the other utilities there, too, and they work, with the > exception of edje_external_inspector. I'm not sure how this one works at all, > but it seems not to take a file but a list of modules, maybe someone with > greater insight can take a look at that. > > Going through things installed under bin, I'll take a look if those behave > properly and create patches for those, too, if this one is okay. > > > > Author: raster > Date: 2011-06-15 02:38:08 -0700 (Wed, 15 Jun 2011) > New Revision: 60338 > Trac: http://trac.enlightenment.org/e/changeset/60338 > > Modified: > trunk/edje/src/bin/edje_inspector.c trunk/edje/src/bin/edje_player.c > > Modified: trunk/edje/src/bin/edje_inspector.c > =================================================================== > --- trunk/edje/src/bin/edje_inspector.c 2011-06-15 09:34:16 UTC (rev > 60337) > +++ trunk/edje/src/bin/edje_inspector.c 2011-06-15 09:38:08 UTC (rev > 60338) > @@ -11,6 +11,7 @@ > #include <Ecore_Getopt.h> > #include <locale.h> > #include <fnmatch.h> > +#include <unistd.h> > > static int _log_dom; > #define DBG(...) EINA_LOG_DOM_DBG(_log_dom, __VA_ARGS__) > @@ -1577,6 +1578,15 @@ > > file = argv[arg_index]; > > + // check if the file is accessible > + if (access(file, R_OK) == -1) i prefer ecore_file_exists as it is cross platform... Vincent > + { > + int e = errno; > + ERR("File '%s' not accessible, error %d (%s).\n", > + file, e, strerror(e)); > + ret = 1; > + goto error_getopt; > + } > > DBG("mode=%s, detail=%d(%s), group=%s, part=%s, program=%s, api-only=" > FMT_UCHAR > ", api-fix=" FMT_UCHAR ", machine=" FMT_UCHAR ", file=%s", > > Modified: trunk/edje/src/bin/edje_player.c > =================================================================== > --- trunk/edje/src/bin/edje_player.c 2011-06-15 09:34:16 UTC (rev 60337) > +++ trunk/edje/src/bin/edje_player.c 2011-06-15 09:38:08 UTC (rev 60338) > @@ -674,6 +674,15 @@ > ecore_app_args_set(argc, (const char **)argv); > edje_scale_set(opts.scale); > > + // check if the given edj file is there > + if (access(argv[args], R_OK) == -1) > + { > + int e = errno; > + fprintf(stderr, "ERROR: file '%s' not accessible, error %d (%s).\n", > + argv[args], e, strerror(e)); > + goto end; > + } > + > opts.file = argv[args]; > if (opts.list_groups) > { > > > ------------------------------------------------------------------------------ > EditLive Enterprise is the world's most technically advanced content > authoring tool. Experience the power of Track Changes, Inline Image > Editing and ensure content is compliant with Accessibility Checking. > http://p.sf.net/sfu/ephox-dev2dev > _______________________________________________ > enlightenment-svn mailing list > enlightenment-...@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn > > ------------------------------------------------------------------------------ EditLive Enterprise is the world's most technically advanced content authoring tool. Experience the power of Track Changes, Inline Image Editing and ensure content is compliant with Accessibility Checking. http://p.sf.net/sfu/ephox-dev2dev _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel