summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDmitry Zhulanov <dmitry.zhulanov@gmail.com>2016-10-02 04:02:44 +0000
committerDmitry Zhulanov <dmitry.zhulanov@gmail.com>2016-10-02 04:02:44 +0000
commit745dd3ffab16bdadc91beb6d3b0da81594f539fa (patch)
treefaa09e4c598281de4b8f1f129cb1b483fb2ca8d3 /src
parentfix cmake warning and remove whole xverbs code from compilation without yaml (diff)
downloadinkscape-745dd3ffab16bdadc91beb6d3b0da81594f539fa.tar.gz
inkscape-745dd3ffab16bdadc91beb6d3b0da81594f539fa.zip
split big function
(bzr r15136.1.12)
Diffstat (limited to 'src')
-rw-r--r--src/main-cmdlinexact.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/main-cmdlinexact.cpp b/src/main-cmdlinexact.cpp
index f5db522ae..2f7afe9fa 100644
--- a/src/main-cmdlinexact.cpp
+++ b/src/main-cmdlinexact.cpp
@@ -311,21 +311,23 @@ struct verb_info_t
typedef std::list<verb_info_t> verbs_list_t;
+static verbs_list_t
+parseVerbsYAMLFile(gchar const *yaml_filename)
+{
+ verbs_list_t verbs_list;
-void
-CmdLineXAction::createActionsFromYAML( gchar const *yaml_filename ) {
FILE *fh = fopen(yaml_filename, "r");
if(fh == NULL) {
printf("Failed to open file!\n");
fflush(stdout);
- return;
+ return verbs_list;
}
yaml_parser_t parser;
if(!yaml_parser_initialize(&parser)) {
printf("Failed to initialize parser!\n");
fflush(stdout);
- return;
+ return verbs_list;
}
/* Set input file */
@@ -333,12 +335,10 @@ CmdLineXAction::createActionsFromYAML( gchar const *yaml_filename ) {
parser_state_t state = HANDLING_ROOT;
-
bool handling_key = false;
bool handling_value = false;
std::string key;
- verbs_list_t verbs_list;
// parse
yaml_token_t token;
@@ -441,6 +441,14 @@ CmdLineXAction::createActionsFromYAML( gchar const *yaml_filename ) {
yaml_parser_delete(&parser);
fclose(fh);
+ return verbs_list;
+}
+
+void
+CmdLineXAction::createActionsFromYAML( gchar const *yaml_filename )
+{
+ verbs_list_t verbs_list = parseVerbsYAMLFile(yaml_filename);
+
typedef std::map<std::string,int> undo_labels_map_t;
undo_labels_map_t undo_labels_map;
int undo_counter = 0;