Commit Graph

972 Commits

Author SHA1 Message Date
Amitesh Singh e66e132d9d Revert "edje: prevent resource leak."
Summary:
This reverts commit f6eb1f17a1.

This will result into failure of edc compilation with recursive use of include.

Reviewers: cedric, raster, seoz

Reviewed By: seoz

Subscribers: chinmaya061, cedric, seoz

Differential Revision: https://phab.enlightenment.org/D1475

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-09-23 11:08:43 +02:00
Jérémy Zurcher cbcb8e29ec eolian: silence uninitialized var in goto end branch 2014-09-23 10:56:57 +02:00
Amitesh Singh 8ebf5d49b2 epp: fix memory leak.
Reviewers: cedric, seoz

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D1470

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-09-22 14:59:27 +02:00
Anand e520d3128e edje: fix resourse leak in epp.
Summary: Variable prefix going out of scope leaks the storage it points to.

Reviewers: seoz, singh.amitesh, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1468

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-09-22 14:59:27 +02:00
Sebastian Dransfeld 54d5653e1b efreet: Store known desktop environments 2014-09-18 10:48:50 +02:00
Savio Sena 991027ac9b eolian-cxx: Remove warnings during release compilation. 2014-09-16 19:17:57 -03:00
Chinmaya Panigrahi f6eb1f17a1 edje: prevent resource leak.
Summary:
The pointer used is not freed at the end of the function which
results resource leak.

@fix

Test Plan: Not Available

Reviewers: seoz, raster, cedric

Reviewed By: cedric

Subscribers: raster, seoz, cedric

Differential Revision: https://phab.enlightenment.org/D1438

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-09-12 23:08:26 +02:00
Savio Sena 6500c99669 eolian-cxx: Refactored eolian_cxx to cope with new Eolian API. 2014-09-12 16:50:09 -03:00
Savio Sena fa01f747a8 eolian-cxx: Added properties_get() wrapper.
Returns the list of all properties in a class.
2014-09-12 16:48:58 -03:00
Savio Sena c61bc0dec0 eolian-cxx: Added wrappers to handle Eolian_Implements. 2014-09-12 16:48:40 -03:00
Savio Sena cc70746d10 eolian-cxx: Added new wrappers to handle Eolian_Function.
function_is_constructor() and function_is_visible().
2014-09-12 16:47:51 -03:00
Savio Sena 5a7d60cb77 eolian-cxx: Added wrappers to handle Eolian_Constructor. 2014-09-12 16:47:07 -03:00
Savio Sena 753f6ab918 eolian-cxx: Make class_name() wrapper return lower-case string. 2014-09-12 16:44:47 -03:00
Savio Sena aef69a6a91 eolian-cxx: Refactored Eolian_Function functions
Renamed function_type to function_op_type and added function_type with
new semantics of returning if function is either regular or
class-function.
2014-09-12 16:42:51 -03:00
Savio Sena 3c90053091 eolian-cxx: Simply use find_replace instead of long form. 2014-09-12 16:41:33 -03:00
Savio Sena 8722d2b9a5 eolian-cxx: Clean-up.
Removed iterator_iterator, unused functions and reworded comments.
2014-09-12 16:39:47 -03:00
Stefan Schmidt 7d8c846d01 edje_watch: Use eina_file_mkstemp() to avoid problems with umask
CID 1039617
2014-09-11 11:55:49 +02:00
Stefan Schmidt d55ab5e5cf edje_cc: Remove no longer needed extern tmp_dir.
The last two user have been switched to eina_file_mkstemp so we don't
need to setup tmp_dir anymore.
2014-09-10 16:43:02 +02:00
Stefan Schmidt cbc6cdda89 edje_cc_parse: Use eina_file_mkstemp() to avoid problems with umask
CID 1039618
2014-09-10 16:43:02 +02:00
Stefan Schmidt 693e9095eb edje_cc: Use eina_file_mkstemp() to avoid problems with umask
In this case it also clears up the setup of temp dir.

CID 1039619
2014-09-10 16:43:02 +02:00
Stefan Schmidt 6d67f69061 edje_cc: Print out the right file name on the error message.
We failed to create sc->tmpo not tmpn here. Looks like a classical C&P error
2014-09-10 16:43:02 +02:00
Daniel Kolesa 599bee0553 elua: update eolian bindings to latest version 2014-09-09 16:30:46 +01:00
Daniel Zaoui 56bad2beb0 Eolian/Generator: support @empty and @auto.
Local and base class functions are supported.
When @empty is provided, dummy functions (initializing the parameters with default
values if needed) are generated.
When @auto is provided on properties, access to internal data variables is done. On
set, it will assign parameters values to private data members. On get,
parameters are set with private data members values.

See the supplied tests as examples.

@feature
2014-09-08 10:11:01 +03:00
Daniel Kolesa dff8d56475 eolian: use implements only to retrieve functions list
This also changes the implements list so that it also includes virtual functions.
2014-09-05 11:54:29 +01:00
Daniel Kolesa e75ded5e3f eolian: prepare for implements list expansion
As the implements list will soon contain all methods and properties,
do some preparations. The Eolian library now fills in class field in
implements early on when the implement is local. The Eolian C generator
now checks for local implements and skips them (so that things don't break).
2014-09-04 15:03:00 +01:00
Daniel Zaoui ffa9ad7daf Eolian/Generator: support params initialization.
This is needed when get properties or methods have to return a
value in case of failure or to initialize parameters.
The way used is to generate an intermediate function that will
initialize the parameters and then invoke the "user" function.
2014-09-03 08:36:20 +03:00
Mike Blumenkrantz 3f468537fd edje_cc now throws an error during link combination when the current part has no name
@fix
2014-09-02 15:17:07 -04:00
Carsten Haitzler 0040e00373 embryo_cc - fix symbol write
this fixes an actual bug coverity found in embryo_cc

fix CID 1039650
2014-09-01 19:40:47 +09:00
Carsten Haitzler 719ecf18e8 evas cserve2 - check return of fcntl
fix CID 1039707
2014-09-01 19:40:47 +09:00
Carsten Haitzler 0b7e3cf422 embryo_cc - fix possible buffer overrun
fix CID 1039594
2014-09-01 19:40:47 +09:00
Carsten Haitzler d78703d0a8 embryo_cc - fix possible buffer overrun
fix CID 1039593
2014-09-01 19:40:47 +09:00
Carsten Haitzler f440626cf0 embryo_cc - fix possible buffer overrun
fix CID 1039592
2014-09-01 19:40:46 +09:00
Carsten Haitzler 435a0dda37 embryo_cc - fix possible buffer overrun
fix CID 1039591
2014-09-01 19:40:46 +09:00
Carsten Haitzler 88fda07299 embryo_cc - fix possible buffer overrun
fix CID 1039590
2014-09-01 19:40:46 +09:00
Carsten Haitzler 09648f6cf1 embryo_cc - fix possible buffer overrun
fix CID 1039589
2014-09-01 19:40:46 +09:00
Carsten Haitzler 1f5aa3050b embryo_cc - fix possible buffer overrun
fix CID 1039588
2014-09-01 19:40:46 +09:00
Carsten Haitzler ea3d28d0c3 embryo_cc - fix possible buffer overrun
fix CID 1039587
2014-09-01 19:40:46 +09:00
Carsten Haitzler 1b74f19b60 embryo_cc - fix buffer overrun possibility
fix CID 1039586
2014-09-01 19:40:46 +09:00
Carsten Haitzler 6d694962c6 embryo_cc - fix coverity buffer complaint
this isnt an actual problem, but best it never comes around again. fix
CID 1039585
2014-09-01 19:40:46 +09:00
Daniel Kolesa 4785353baf eolian: APIs to check if an implement references get/set 2014-08-29 15:30:51 +01:00
Daniel Kolesa 14d67f31d0 eolian: use EINA_C_ARRAY_LENGTH 2014-08-28 09:55:41 +01:00
Daniel Kolesa 1eb870e3d3 eolian/generator: use size of the array instead of fixed int 2014-08-28 09:49:57 +01:00
Carsten Haitzler 94f9d106c8 eolian generator - fix num of types handled
there are only 2 types in the ftype array... not 3!

fix CID 1232782
2014-08-28 08:45:09 +09:00
Daniel Kolesa b69b90832f eolian: remove constructors section cruft 2014-08-27 15:43:47 +01:00
Daniel Kolesa 1a76690abf eolian/generator: remove support for custom constructors 2014-08-27 15:43:47 +01:00
Daniel Kolesa 0e873a260d eolian_cxx: very quick workaround to make tests compile again (needs fix) 2014-08-27 15:43:47 +01:00
Daniel Kolesa 901d1343fd eolian: no need to concat name in this case 2014-08-27 11:38:26 +01:00
Carsten Haitzler 7e3367d82c fix error handling in edje_decc
fix CID 1039341
2014-08-27 17:49:29 +09:00
Carsten Haitzler a427fc46f7 edje_decc - fix strrchr null return case
fix CID 1039342
2014-08-27 17:47:34 +09:00
Carsten Haitzler 209962f763 embryo_cc - remove useless check against always-there array
fix CID 1039345
2014-08-27 17:08:16 +09:00
Carsten Haitzler dab0558843 evas cserv2 - fix fcntl return check
fixes CID 1039704
2014-08-27 15:09:14 +09:00
Carsten Haitzler 03941beeed evas cserve2 - fix fcntl return check
fix CID 1039705
2014-08-27 15:06:41 +09:00
Carsten Haitzler c71d2c7d83 evas cserve2 - fix check of fcntl return
fix CID 1039706
2014-08-27 15:04:04 +09:00
Carsten Haitzler 9825a16a26 evas cserve2 - check fcntl return for setting non-block
fix CID 1039707
2014-08-27 15:01:10 +09:00
Carsten Haitzler 29c4a28457 ethumbd - check arg signature
fix CID 1039708
2014-08-27 14:58:50 +09:00
Carsten Haitzler b3fa71e0dc ethumbd - check signature type
fix CID 1039709
2014-08-27 14:56:13 +09:00
Carsten Haitzler c4b2d133e4 ethumbd - check arg signaature type
fix CID 1039710
2014-08-27 14:53:29 +09:00
Carsten Haitzler 9e8f024b73 ethumb - check signature of arguments for crop
fix CID 1039711
2014-08-27 14:52:11 +09:00
Carsten Haitzler 3f97906d70 embryo_cc - fix bunch of unchecked fseeks
this fixes CID 996788
2014-08-27 14:29:21 +09:00
Carsten Haitzler 0c99a2f156 eolian - fix possible leak of name string
fixes CID 1232734
2014-08-27 11:25:40 +09:00
Daniel Kolesa d09262b011 eolian: stub header generator
This adds functionality into eolian_gen to generate a "stub header".
The main use for this is to deal with cyclic dependencies between Eo files.
2014-08-26 17:10:14 +01:00
Carsten Haitzler f5f27afee0 epp - fix unused pointer var bug
fix CID 1039493
2014-08-25 12:57:26 +09:00
Daniel Kolesa c562b38588 eolian: properly get the legacy attribute of a method/property 2014-08-22 17:01:36 +01:00
Daniel Kolesa b75014a024 eolian: refactor the struct/enum field APIs 2014-08-22 16:56:41 +01:00
Daniel Kolesa f35b5e35df eolian: guard eo types in legacy headers 2014-08-22 14:40:01 +01:00
Daniel Kolesa 19d8209266 eolian: clean up type generation + fix function pointers 2014-08-22 14:04:22 +01:00
Daniel Kolesa 189bc4512d eolian: fix type generation for function pointers 2014-08-22 13:45:20 +01:00
Carsten Haitzler 9415a1d310 embryo_cc - fix usless array check
fix CID 1039346
2014-08-22 20:14:58 +09:00
Carsten Haitzler 14008d3111 embryo_cc - fix uselss array existance check
fix CID 1039345
2014-08-22 20:14:58 +09:00
Carsten Haitzler e9afad0b07 check strrchr to be sure
this fixes CID 1039342
2014-08-22 20:14:58 +09:00
Carsten Haitzler 554563cc21 fix fopen return check and error
fixes CID 1039341
2014-08-22 20:14:57 +09:00
Carsten Haitzler ceee029484 ethumbd - check eldbus_service_object_data_get return like everywhere
this fixes CID 1039338
2014-08-22 20:14:57 +09:00
Carsten Haitzler 32e5189952 embryo_cc - check fseeek return and complain
fixes CID 996788
2014-08-22 20:14:57 +09:00
Mike Blumenkrantz 84b985b45c edje_cc only prints kitten-harming message with nosave 2014-08-21 15:03:28 -04:00
Mike Blumenkrantz 82c0f67f02 de-frenchify edje_cc --no-save option 2014-08-21 15:02:46 -04:00
Daniel Kolesa cdd4860520 eolian: turn db validation into separate API 2014-08-21 16:35:59 +01:00
Daniel Kolesa 5d5185f900 elua: support for passing data to modules via require 2014-08-21 15:32:03 +01:00
Daniel Kolesa efa40a5bb2 elua: first namespace is root module name, remove -M 2014-08-21 15:17:19 +01:00
Cedric BAIL 9e8ece571b edje: edje_cc - warn people when they do bad things. 2014-08-21 12:04:53 +02:00
Irfan Abdul 3709a908d7 edje: Edje_cc - fix not storing edc sources in .edj file with --no-save option
Reviewers: govi, raster, jpeg, zmike, cedric

Subscribers: cedric

@fix

Differential Revision: https://phab.enlightenment.org/D1292

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-08-21 12:04:53 +02:00
Daniel Kolesa fce1e61ff5 eolian: fix shadow warnings 2014-08-21 09:26:06 +01:00
Daniel Kolesa 452497eac5 eolian: remove a bunch of pointless stringshare refs + fix in lua 2014-08-21 09:26:05 +01:00
Daniel Kolesa 423cfb5f61 eolian/generator: support for legacy-only functions 2014-08-21 09:26:05 +01:00
Daniel Kolesa bbdb655bdb elua: update lualian 2014-08-21 09:26:05 +01:00
Daniel Kolesa e6954d143d eolian: drop Eina_Value
Because of Eina_Value being less than optimal in our usage, we're dropping it in Eolian.
This simplifies the code and makes it easier to bind to other languages, which
will aid new generators. Also, we're dropping long double support from eo files
and expressions as it causes an ABI breakage in gcc 4.4.
2014-08-21 09:26:05 +01:00
Daniel Kolesa 913e0f09fa eolian: get rid of the data hash in Eolian_Function 2014-08-21 09:26:05 +01:00
Daniel Kolesa 1688749ce9 eolian: add support for opaque struct types (+ tests) 2014-08-21 09:26:05 +01:00
Daniel Kolesa 2df5eae338 eolian/generator: support for private and protected events 2014-08-21 09:26:04 +01:00
Daniel Kolesa 93726c86a3 eolian: get rid of eolian_parameter_information_get 2014-08-21 09:26:04 +01:00
Daniel Kolesa ad3dbe834b eolian: API refactoring
Remove eolian_implement_information_get. Also, fix some nasty lookup problems.
2014-08-21 09:26:04 +01:00
Daniel Kolesa 057e01d67f eolian: API refactoring
Start getting rid of the terrible _information_get APIs, starting with events.
2014-08-21 09:26:04 +01:00
Daniel Kolesa ffbf149da1 eolian: new API: eolian_class_event_scope_get 2014-08-21 09:26:04 +01:00
Daniel Kolesa a5964f0252 eolian: add comments containing original expressions to generated enum fields
This required a new API, eolian_expression_serialize.
2014-08-21 09:26:04 +01:00
Daniel Kolesa 18c2b5082e eolian: allow usage of stack Eina_Value in expr API 2014-08-21 09:26:04 +01:00
Daniel Kolesa 732e3f417e eolian: new API: eolian_type_enum_legacy_prefix_set + generator changes
This change adds a new API to retrieve the legacy prefix for enum members
and also adds support for generating enums into the C generator. Besides that,
it prevents generation of entire struct contents when the .eo file declares
a named struct inside of a typedef - as the struct itself gets generated later on.
2014-08-21 09:26:04 +01:00
Daniel Kolesa 2e3887b994 eolian: struct/enum fixes and initial test for enums 2014-08-21 09:26:04 +01:00
Daniel Kolesa 8c1b9ed3e2 eolian: initial API for expression evaluation
This commit also does several side (related) changes. Particularly, it updates
the Eolian C generator to use the new API, it adds missing expr types (null, char)
and masks, updates the API dealing with default return values to use expressions
instead of strings and does several fixes (mainly in lexer) around the place.
It also disallows single quoted strings as those are reserved for characters.
2014-08-21 09:26:03 +01:00
Daniel Kolesa 520275c66b eolian: use newly created implicit typedefs in legacy API
Also update tests accordingly.
2014-08-21 09:26:03 +01:00
Daniel Kolesa bb24b60638 eolian: generate implicit typedef for each class
And use these typedefs instead of just Eo in API.
2014-08-21 09:26:03 +01:00
Carsten Haitzler c77accc0b9 eolain impl generator - fix possible null access
fix CID 1231994
2014-08-20 09:05:58 +09:00