-/* Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011. The SimGrid Team.
+/* Copyright (c) 2006-2013. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
void surf_parse_error(const char *fmt, ...) {
va_list va;
va_start(va,fmt);
+ int lineno = surf_parse_lineno;
char *msg = bvprintf(fmt,va);
va_end(va);
- xbt_die("Parse error at %s:%d: %s", surf_parsed_filename, surf_parse_lineno, msg);
+ cleanup();
+ surf_exit();
+ xbt_die("Parse error at %s:%d: %s", surf_parsed_filename, lineno, msg);
}
void surf_parse_warn(const char *fmt, ...) {
va_list va;
storage.id = A_surfxml_storage_id;
storage.type_id = A_surfxml_storage_typeId;
storage.content = A_surfxml_storage_content;
+ storage.content_type = A_surfxml_storage_content___type;
storage.properties = current_property_set;
sg_platf_new_storage(&storage);
current_property_set = NULL;
memset(&storage_type,0,sizeof(storage_type));
storage_type.content = A_surfxml_storage___type_content;
+ storage_type.content_type = A_surfxml_storage___type_content___type;
storage_type.id = A_surfxml_storage___type_id;
storage_type.model = A_surfxml_storage___type_model;
storage_type.properties = current_property_set;
memset(&mount,0,sizeof(mount));
mount.name = A_surfxml_mount_name;
- mount.id = A_surfxml_mount_id;
+ mount.storageId = A_surfxml_mount_storageId;
sg_platf_new_mount(&mount);
}
xbt_dynar_push_as(host.power_peak, double, power_value);
XBT_DEBUG("Power value: %lf", power_value);
}
+ xbt_dynar_free(&pstate_list);
}
XBT_DEBUG("pstate: %s", A_surfxml_host_pstate);
sg_platf_new_AS_end();
}
-extern int _sg_init_status; /* FIXME: find a proper way to export this at some point */
-
void STag_surfxml_config(void){
AS_TAG = 0;
xbt_assert(current_property_set == NULL, "Someone forgot to reset the property set to NULL in its closing tag (or XML malformed)");
XBT_DEBUG("START configuration name = %s",A_surfxml_config_id);
- if (_sg_init_status == 2) {
+ if (_sg_cfg_init_status == 2) {
surf_parse_error("All <config> tags must be given before any platform elements (such as <AS>, <host>, <cluster>, <link>, etc).");
}
}
static void add_randomness(void)
{
- /* If needed aditional properties can be added by using the prop tag */
+ /* If needed, additional properties can be added by using the prop tag */
random_data_t random =
random_new(random_generator, 0, random_min, random_max, random_mean,
random_std_deviation);