SF.net SVN: geany:[4030] branches/build-system
ntrel at users.sourceforge.net
ntrel at xxxxx
Mon Jul 27 16:37:25 UTC 2009
Revision: 4030
http://geany.svn.sourceforge.net/geany/?rev=4030&view=rev
Author: ntrel
Date: 2009-07-27 16:37:23 +0000 (Mon, 27 Jul 2009)
Log Message:
-----------
Fix some gcc warnings with '-Wall -W -ansi' enabled.
Modified Paths:
--------------
branches/build-system/ChangeLog
branches/build-system/src/build.c
branches/build-system/src/build.h
branches/build-system/src/project.c
Modified: branches/build-system/ChangeLog
===================================================================
--- branches/build-system/ChangeLog 2009-07-27 11:38:29 UTC (rev 4029)
+++ branches/build-system/ChangeLog 2009-07-27 16:37:23 UTC (rev 4030)
@@ -1,3 +1,9 @@
+2009-07-27 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
+
+ * src/build.c, src/build.h, src/project.c:
+ Fix some gcc warnings with '-Wall -W -ansi' enabled.
+
+
2009-07-25 Lex Trotman <elextr(at)gmail(dot)com>
* src/build.c
@@ -48,11 +54,11 @@
2009-07-17 Lex Trotman <elextr(at)gmail(dot)com>
* src/build.c
- Fixed substitute %f etc in commands
+ Fixed substitute %f etc in commands
Fixed potential leak in build_replace_placeholder
Fixed leak in prepare_run_script (Thanks for patch Thomas)
Fixed build_replace_placeholder to not require document.
-
+
2009-07-17 Lex Trotman <elextr(at)gmail(dot)com>
* src/build.c, src/build.h, src/filetypes.h, src/filetypes.c
@@ -89,13 +95,13 @@
2009-07-11 Lex Trotman <elextr(at)gmail(dot)com>
- * src/filetypes.h, src/filetypes.c, src/build.c, src/build.h,
+ * src/filetypes.h, src/filetypes.c, src/build.c, src/build.h,
src/project.c
Removal of build menu item source made redundant by the following fix
* src/build.c
Corrected priority oreder and loading of filetype dependent build
- menu items saved in the project file. Added print routine for
- debugging command sources and priorities set compile symbol
+ menu items saved in the project file. Added print routine for
+ debugging command sources and priorities set compile symbol
PRINTBUILDCMDS true to enable
2009-07-10 Lex Trotman <elextr(at)gmail(dot)com>
Modified: branches/build-system/src/build.c
===================================================================
--- branches/build-system/src/build.c 2009-07-27 11:38:29 UTC (rev 4029)
+++ branches/build-system/src/build.c 2009-07-27 16:37:23 UTC (rev 4030)
@@ -113,7 +113,7 @@
#endif
static gboolean build_create_shellscript(const gchar *fname, const gchar *cmd, gboolean autoclose);
static GPid build_spawn_cmd(GeanyDocument *doc, const gchar *cmd, const gchar *dir);
-static void set_stop_button(gboolean stop);
+/* static void set_stop_button(gboolean stop); */
static void run_exit_cb(GPid child_pid, gint status, gpointer user_data);
static void on_set_build_commands_activate(GtkWidget *w, gpointer u);
static void on_build_next_error(GtkWidget *menuitem, gpointer user_data);
@@ -174,9 +174,9 @@
};
/*-----------------------------------------------------
- *
+ *
* Execute commands and handle results
- *
+ *
*-----------------------------------------------------*/
/* the various groups of commands not in the filetype struct */
@@ -362,7 +362,7 @@
{
GeanyDocument *doc;
GeanyFiletype *ft;
-
+
switch(grp)
{
case GBG_FT:
@@ -398,7 +398,7 @@
case BCS_PREF: return exec_pref;
case BCS_PROJ: return exec_proj;
default: return NULL;
-
+
}
break;
default:
@@ -524,7 +524,7 @@
utils_string_replace_all(stack, "%e", replacement);
g_free(replacement);
}
-
+
/* replace %p with the current project's (absolute) base directory */
replacement = NULL; /* prevent double free if no replacement found */
if (app->project)
@@ -1031,7 +1031,7 @@
static void run_exit_cb(GPid child_pid, gint status, gpointer user_data)
{
RunInfo *run_info_data = (RunInfo*)user_data;
-
+
g_spawn_close_pid(child_pid);
run_info_data->pid = 0;
@@ -1077,7 +1077,7 @@
gchar *full_command, *subs_command;
GeanyBuildCommand *buildcmd = get_build_cmd(doc, grp, cmd, NULL);
gchar* cmdstr;
-
+
if (buildcmd==NULL)
return;
@@ -1108,9 +1108,9 @@
/*----------------------------------------------------------------
- *
+ *
* Create build menu and handle callbacks (&toolbar callbacks)
- *
+ *
*----------------------------------------------------------------*/
static void on_make_custom_input_response(const gchar *input)
@@ -1190,7 +1190,7 @@
const gint build_grp, build_cmd;
const gchar *fix_label;
callback *cb;
-} build_menu_specs[] = {
+} build_menu_specs[] = {
{ GTK_STOCK_CONVERT, GEANY_KEYS_BUILD_COMPILE, GBO_TO_GBG(GBO_COMPILE),
GBO_TO_CMD(GBO_COMPILE), NULL, on_build_menu_item },
{ GEANY_STOCK_BUILD, GEANY_KEYS_BUILD_LINK, GBO_TO_GBG(GBO_BUILD),
@@ -1227,7 +1227,7 @@
0, NULL, NULL }
};
-static void create_build_menu_item(GtkWidget *menu, GeanyKeyGroup *group, GtkAccelGroup *ag,
+static void create_build_menu_item(GtkWidget *menu, GeanyKeyGroup *group, GtkAccelGroup *ag,
struct build_menu_item_spec *bs, gchar *lbl, gint grp, gint cmd)
{
GtkWidget *item = gtk_image_menu_item_new_with_mnemonic(lbl);
@@ -1235,7 +1235,7 @@
{
GtkWidget *image = gtk_image_new_from_stock(bs->stock_id, GTK_ICON_SIZE_MENU);
gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
-
+
}
gtk_widget_show(item);
if (bs->key_binding>0)
@@ -1260,7 +1260,7 @@
build_menu_items->menu_item[GBG_NON_FT] = g_new0(GtkWidget*, build_groups_count[GBG_NON_FT]);
build_menu_items->menu_item[GBG_EXEC] = g_new0(GtkWidget*, build_groups_count[GBG_EXEC]);
build_menu_items->menu_item[GBG_FIXED] = g_new0(GtkWidget*, GBF_COUNT);
-
+
for (i=0; build_menu_specs[i].build_grp != MENU_DONE; ++i)
{
struct build_menu_item_spec *bs = &(build_menu_specs[i]);
@@ -1316,7 +1316,7 @@
gboolean have_path, build_running, exec_running, have_errors, cmd_sensitivity;
gboolean can_compile, can_make;
GeanyBuildCommand *bc;
-
+
if (menu_items.menu==NULL)
create_build_menu(&menu_items);
if (doc == NULL)
@@ -1369,7 +1369,7 @@
if (grp < GBG_EXEC)
{
- cmd_sensitivity =
+ cmd_sensitivity =
(grp == GBG_FT && bc!=NULL && have_path && ! build_running) ||
(grp == GBG_NON_FT && bc!=NULL && ! build_running);
gtk_widget_set_sensitive(menu_item, cmd_sensitivity);
@@ -1411,23 +1411,23 @@
}
}
}
-
+
can_compile = get_build_cmd(doc, GBG_FT, GBO_TO_CMD(GBO_BUILD), NULL)!=NULL
&& have_path && ! build_running;
if (widgets.toolitem_build != NULL)
gtk_widget_set_sensitive(widgets.toolitem_build, can_compile);
can_make = FALSE;
if (widgets.toolitem_make_all != NULL)
- gtk_widget_set_sensitive(widgets.toolitem_make_all,
- (can_make |= get_build_cmd(doc, GBG_FT, GBO_TO_CMD(GBO_MAKE_ALL), NULL)!=NULL
+ gtk_widget_set_sensitive(widgets.toolitem_make_all,
+ (can_make |= get_build_cmd(doc, GBG_FT, GBO_TO_CMD(GBO_MAKE_ALL), NULL)!=NULL
&& ! build_running));
if (widgets.toolitem_make_custom != NULL)
- gtk_widget_set_sensitive(widgets.toolitem_make_custom,
- (can_make |= get_build_cmd(doc, GBG_FT, GBO_TO_CMD(GBO_MAKE_CUSTOM), NULL)!=NULL
+ gtk_widget_set_sensitive(widgets.toolitem_make_custom,
+ (can_make |= get_build_cmd(doc, GBG_FT, GBO_TO_CMD(GBO_MAKE_CUSTOM), NULL)!=NULL
&& ! build_running));
if (widgets.toolitem_make_object != NULL)
gtk_widget_set_sensitive(widgets.toolitem_make_object,
- (can_make |= get_build_cmd(doc, GBG_FT, GBO_TO_CMD(GBO_MAKE_OBJECT), NULL)!=NULL
+ (can_make |= get_build_cmd(doc, GBG_FT, GBO_TO_CMD(GBO_MAKE_OBJECT), NULL)!=NULL
&& ! build_running));
if (widgets.toolitem_set_args != NULL)
gtk_widget_set_sensitive(widgets.toolitem_set_args, TRUE);
@@ -1436,15 +1436,16 @@
gtk_action_set_sensitive(widgets.build_action, can_make );
/* gtk_action_set_sensitive(widgets.run_action, can_run || can_stop); */
- /* show the stop command if a program is running, otherwise show run command
+ /* show the stop command if a program is running, otherwise show run command
set_stop_button(can_stop); */
}
/* Call build_menu_update() instead of calling this directly. */
+#if 0
static void set_stop_button(gboolean stop)
{
-/* const gchar *button_stock_id = NULL;
+ const gchar *button_stock_id = NULL;
GtkStockItem sitem;
GtkToolButton *run_button;
GtkWidget *menuitem = build_get_menu_items(run_info.file_type_id)->item_exec;
@@ -1459,7 +1460,7 @@
return;
/* use the run button also as stop button */
-/* if (stop)
+ if (stop)
{
if (run_button != NULL)
gtk_tool_button_set_stock_id(run_button, "gtk-stop");
@@ -1487,8 +1488,9 @@
gtk_label_set_text_with_mnemonic(GTK_LABEL(gtk_bin_get_child(GTK_BIN(menuitem))),
sitem.label);
}
- }*/
+ }
}
+#endif
static void on_set_build_commands_activate(GtkWidget *w, gpointer u)
{
@@ -1594,9 +1596,9 @@
}
/*------------------------------------------------------
- *
+ *
* Create and handle the build menu configuration dialog
- *
+ *
*-------------------------------------------------------*/
typedef struct RowWidgets {
@@ -1665,7 +1667,7 @@
enum GeanyBuildCmdEntries i;
gint column = 0;
-
+
label = gtk_label_new(g_strdup_printf("%d:", cmd+1));
gtk_table_attach(table, label, column, column+1, row, row+1, GTK_FILL, GTK_FILL | GTK_EXPAND,
entry_x_padding, entry_y_padding);
@@ -1880,7 +1882,7 @@
&&
(
strlen(entries[BC_LABEL])>0 /* but now one field has some */
- || strlen(entries[BC_COMMAND])>0
+ || strlen(entries[BC_COMMAND])>0
|| strlen(entries[BC_WORKING_DIR])>0
)
)
@@ -1946,7 +1948,7 @@
{
gint cmdindex, cmd;
gboolean changed = FALSE;
-
+
if (response == GTK_RESPONSE_ACCEPT)
{
for (cmdindex=0, cmd=0; cmd<build_groups_count[GBG_FT]; ++cmdindex, ++cmd)
@@ -1979,11 +1981,11 @@
GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL);
table = build_commands_table(doc, BCS_PREF, &table_data, ft);
vbox = ui_dialog_vbox_new(GTK_DIALOG(dialog));
- gtk_box_pack_start(GTK_BOX(vbox), table, TRUE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), table, TRUE, TRUE, 0);
gtk_widget_show_all(dialog);
/* run modally to prevent user changing idx filetype */
response = gtk_dialog_run(GTK_DIALOG(dialog));
-
+
prefdsts.dst[GBG_NON_FT] = &non_ft_pref;
prefdsts.dst[GBG_EXEC] = &exec_pref;
if (ft!=NULL)
@@ -1999,7 +2001,7 @@
prefdsts.nonfileregexstr = ®ex_pref;
read_build_commands(&prefdsts, table_data, response);
free_build_fields(table_data);
-
+
build_menu_update(doc);
gtk_widget_destroy(dialog);
}
@@ -2025,9 +2027,9 @@
}
/*----------------------------------------------------------
- *
+ *
* Load and store configuration
- *
+ *
* ---------------------------------------------------------*/
static const gchar *build_grp_name = "build-menu";
@@ -2050,7 +2052,7 @@
GeanyBuildCommand *dstcmd;
gchar *key;
static gchar cmdbuf[3]=" ";
-
+
if (*dst==NULL)*dst = g_new0(GeanyBuildCommand, build_groups_count[grp]);
dstcmd = *dst;
prefixlen = prefix==NULL?0:strlen(prefix);
@@ -2083,7 +2085,7 @@
g_free(key);
}
-/* for the specified source load new format build menu items or try to make some sense of
+/* for the specified source load new format build menu items or try to make some sense of
* old format setings, not done perfectly but better than ignoring them */
void load_build_menu(GKeyFile *config, GeanyBuildSource src, gpointer p)
{
@@ -2093,7 +2095,6 @@
gchar **ftlist;
gchar *value;
gboolean bvalue;
- gint cmd;
if (g_key_file_has_group(config, build_grp_name))
{
@@ -2153,9 +2154,9 @@
break;
}
}
-
+
/* load old [build_settings] values if there is no value defined by [build-menu] */
-
+
/* set GeanyBuildCommand if it doesn't already exist and there is a command */
#define ASSIGNIF(type, id, string, value) \
if (value!=NULL && !type[GBO_TO_CMD(id)].exists && strlen(value)>0) { \
@@ -2166,7 +2167,7 @@
type[GBO_TO_CMD(id)].old = TRUE; \
} else \
g_free(value);
-
+
switch(src)
{
case BCS_FT:
@@ -2219,7 +2220,7 @@
gchar *key;
gint count=0;
enum GeanyBuildCmdEntries i;
-
+
if (src==NULL)return 0;
prefixlen = prefix==NULL?0:strlen(prefix);
key = g_strconcat(prefix==NULL?"":prefix, fixedkey, NULL);
@@ -2244,7 +2245,7 @@
else
{
FOREACH_GEANYBUILDCMD_ENTRY(i)
- {
+ {
set_key_fld(key, config_keys[i]);
g_key_file_remove_key(config, build_grp_name, key, NULL);
}
@@ -2267,7 +2268,7 @@
ForEachData *d = (ForEachData*)user_data;
gint i=0;
gchar *regkey = g_strdup_printf("%serror_regex", ft->name);
-
+
i += save_build_menu_grp(d->config, ft->projfilecmds, GBG_FT, ft->name);
if (ft->projerror_regex_string!=NULL && strlen(ft->projerror_regex_string)>0)
{
@@ -2286,7 +2287,7 @@
GeanyProject *pj;
ForEachData data;
gchar *regkey;
-
+
switch(src)
{
case BCS_HOME_FT:
@@ -2353,9 +2354,9 @@
gchar *entries[BC_CMDENTRIES_COUNT];
GeanyBuildCommand **ptr;
gint index;
-} default_cmds[] = {
- { {N_("_Make"), "make", NULL}, &non_ft_def, GBO_TO_CMD(GBO_MAKE_ALL)},
- { {N_("Make Custom _Target"), "make ", NULL}, &non_ft_def, GBO_TO_CMD(GBO_MAKE_CUSTOM)},
+} default_cmds[] = {
+ { {N_("_Make"), "make", NULL}, &non_ft_def, GBO_TO_CMD(GBO_MAKE_ALL)},
+ { {N_("Make Custom _Target"), "make ", NULL}, &non_ft_def, GBO_TO_CMD(GBO_MAKE_CUSTOM)},
{ {N_("Make _Object"), "make %e.o", NULL }, &non_ft_def, GBO_TO_CMD(GBO_MAKE_OBJECT)},
{ {N_("_Execute"), "./%e", NULL }, &exec_def, GBO_TO_CMD(GBO_EXEC)},
{ {NULL, NULL, NULL}, NULL, 0 }
Modified: branches/build-system/src/build.h
===================================================================
--- branches/build-system/src/build.h 2009-07-27 11:38:29 UTC (rev 4029)
+++ branches/build-system/src/build.h 2009-07-27 16:37:23 UTC (rev 4030)
@@ -143,7 +143,7 @@
gboolean read_build_commands( BuildDestination *dst, TableData data, gint response );
-void free_build_data( TableData data );
+void free_build_fields( TableData data );
void set_build_non_ft_wd_to_proj(TableData table_data);
@@ -153,18 +153,18 @@
/* build menu functions */
/** Update the build menu to reflect changes in configuration or status.
- *
+ *
* Sets the labels and number of visible items to match the highest
* priority configured commands. Also sets sensitivity if build commands are
* running and switches executes to stop when commands are running.
- *
+ *
* @param doc The current document, if available, to save looking it up.
* If @c NULL it will be looked up.
- *
+ *
* Call this after modifying any fields of a GeanyBuildCommand structure.
- *
+ *
* @see Build Menu Configuration section of the Manual.
- *
+ *
**/
void build_menu_update(GeanyDocument *doc);
@@ -173,55 +173,55 @@
void build_toolbutton_build_clicked(GtkAction *action, gpointer user_data);
/** Remove the specified Build menu item.
- *
+ *
* Makes the specified menu item configuration no longer exist. This
* is different to setting fields to blank because the menu item
- * will be deleted from the configuration file on saving
- * (except the system filetypes settings @see Build Menu Configuration
- * section of the Manual).
- *
+ * will be deleted from the configuration file on saving
+ * (except the system filetypes settings @see Build Menu Configuration
+ * section of the Manual).
+ *
* @param src the source of the menu item to remove.
* @param grp the group of the command to remove.
- * @param cmd the index (from 0) of the command within the group. A negative
+ * @param cmd the index (from 0) of the command within the group. A negative
* value will remove the whole group.
- *
+ *
* If any parameter is out of range does nothing.
- *
+ *
* @see build_menu_update
**/
void build_remove_menu_item(GeanyBuildSource src, GeanyBuildGroup grp, gint cmd);
/** Get the @a GeanyBuildCommand structure for the specified Build menu item.
- *
- * Get the command for any menu item specified by @a src, @a grp and @a cmd even if it is
+ *
+ * Get the command for any menu item specified by @a src, @a grp and @a cmd even if it is
* hidden by higher priority commands.
- *
+ *
* @param src the source of the specified menu item.
* @param grp the group of the specified menu item.
* @param cmd the index of the command within the group.
- *
+ *
* @return a pointer to the @a GeanyBuildCommand structure or @a NULL if it doesn't exist.
* This is a pointer to an internal structure and must not be freed.
- *
+ *
* @see build_menu_update
**/
GeanyBuildCommand *build_get_menu_item(GeanyBuildSource src, GeanyBuildGroup grp, gint cmd);
/** Get the @a GeanyBuildCommand structure for the menu item.
- *
- * Get the current highest priority command specified by @a grp and @a cmd. This is the one
+ *
+ * Get the current highest priority command specified by @a grp and @a cmd. This is the one
* that the menu item will use if activated.
- *
+ *
* @param grp the group of the specified menu item.
* @param cmd the index of the command within the group.
* @param src pointer to @a gint to return which source provided the command. Ignored if @a NULL.
* Values are one of @a GeanyBuildSource but returns a signed type not the enum.
- *
+ *
* @return a pointer to the @a GeanyBuildCommand structure or @a NULL if it doesn't exist.
* This is a pointer to an internal structure and must not be freed.
- *
+ *
* @see build_menu_update
**/
Modified: branches/build-system/src/project.c
===================================================================
--- branches/build-system/src/project.c 2009-07-27 11:38:29 UTC (rev 4029)
+++ branches/build-system/src/project.c 2009-07-27 16:37:23 UTC (rev 4030)
@@ -338,8 +338,6 @@
/* open_default will make function reload default session files on close */
void project_close(gboolean open_default)
{
- gint i;
-
g_return_if_fail(app->project != NULL);
ui_set_statusbar(TRUE, _("Project \"%s\" closed."), app->project->name);
@@ -353,14 +351,14 @@
g_ptr_array_foreach( app->project->build_filetypes_list, remove_foreach_project_filetype, NULL );
g_ptr_array_free(app->project->build_filetypes_list, FALSE);
}
-
+
/* remove project non filetype build menu items */
build_remove_menu_item( BCS_PROJ, GBG_NON_FT, -1 );
build_remove_menu_item( BCS_PROJ, GBG_EXEC, -1 );
-
+
/* remove project regexen */
setptr(regex_proj, NULL);
-
+
g_free(app->project->name);
g_free(app->project->description);
g_free(app->project->file_name);
@@ -398,12 +396,10 @@
static void create_properties_dialog(PropertyDialogElements *e)
{
GtkWidget *table, *notebook, *build_table;
- GtkWidget *image;
GtkWidget *button;
GtkWidget *bbox;
GtkWidget *label;
GtkWidget *swin;
- gpointer data;
GeanyDocument *doc = document_get_current();
GeanyFiletype *ft;
@@ -480,7 +476,7 @@
gtk_table_attach(GTK_TABLE(table), bbox, 1, 2, 3, 4,
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
-
+
if (doc!=NULL) ft=doc->file_type;
build_table = build_commands_table( doc, BCS_PROJ, &(e->build_properties), ft );
label = gtk_label_new(_("Build"));
@@ -489,7 +485,7 @@
label = gtk_label_new(_("Set the non-filetype working directories on build tab to use base path:"));
gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
-
+
button = gtk_button_new_with_label(_("Set"));
ui_widget_set_tooltip_text(button,
_("Set the working directories (on the Build tab) "
@@ -738,7 +734,7 @@
gtk_text_buffer_get_start_iter(buffer, &start);
gtk_text_buffer_get_end_iter(buffer, &end);
setptr(p->description, g_strdup(gtk_text_buffer_get_text(buffer, &start, &end, FALSE)));
-
+
/* read the project build menu */
if ( doc!=NULL )ft=doc->file_type;
if ( ft!=NULL )
@@ -760,7 +756,7 @@
if (ft!=NULL && ft->projfilecmds!=oldvalue && ft->project_list_entry<0)
{
if (p->build_filetypes_list==NULL)p->build_filetypes_list = g_ptr_array_new();
- ft->project_list_entry = p->build_filetypes_list->len;
+ ft->project_list_entry = p->build_filetypes_list->len;
g_ptr_array_add(p->build_filetypes_list, ft);
}
build_menu_update(doc);
@@ -1111,9 +1107,9 @@
* Maybe in future this will support a separate project make path from base path. */
gchar *project_get_make_dir(void)
{
- GeanyProject *project = app->project;
+/* GeanyProject *project = app->project;
-/* if (project && ! project->make_in_base_path)
+ if (project && ! project->make_in_base_path)
return NULL;
else*/
return project_get_base_path();
@@ -1162,7 +1158,7 @@
static gboolean callback_setup = FALSE;
g_return_if_fail(local_prefs.project_file_path != NULL);
-
+
gtk_entry_set_text(GTK_ENTRY(path_entry), local_prefs.project_file_path);
if (! callback_setup)
{ /* connect the callback only once */
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list