- name=xbt_strdup(surf_parse_text);
-
- token=surf_parse(); /* power_scale */
- xbt_assert1((token==TOKEN_WORD),"Parse error line %d",line_pos);
- xbt_assert2((sscanf(surf_parse_text,XBT_MAXMIN_FLOAT_T, &power_scale)==1),
- "Parse error line %d : %s not a number",line_pos,surf_parse_text);
-
- token=surf_parse(); /* initial_power */
- xbt_assert1((token==TOKEN_WORD),"Parse error line %d",line_pos);
- xbt_assert2((sscanf(surf_parse_text,XBT_MAXMIN_FLOAT_T, &initial_power)==1),
- "Parse error line %d : %s not a number",line_pos,surf_parse_text);
-
- token=surf_parse(); /* power_trace */
- xbt_assert1((token==TOKEN_WORD),"Parse error line %d",line_pos);
- if(strcmp(surf_parse_text,"")==0) power_trace = NULL;
- else power_trace = tmgr_trace_new(surf_parse_text);
-
- token=surf_parse(); /* initial_state */
- xbt_assert1((token==TOKEN_WORD),"Parse error line %d",line_pos);
- if(strcmp(surf_parse_text,"ON")==0) initial_state = SURF_CPU_ON;
- else if(strcmp(surf_parse_text,"OFF")==0) initial_state = SURF_CPU_OFF;
- else CRITICAL2("Invalid cpu state (line %d): %s neq ON or OFF\n",line_pos,
- surf_parse_text);
+ name = xbt_strdup(surf_parse_text);
+
+ surf_parse_float(&power_scale);
+ surf_parse_float(&power_initial);
+ surf_parse_trace(&power_trace);
+
+ token = surf_parse(); /* state_initial */
+ xbt_assert1((token == TOKEN_WORD), "Parse error line %d", line_pos);
+ if (strcmp(surf_parse_text, "ON") == 0)
+ state_initial = SURF_CPU_ON;
+ else if (strcmp(surf_parse_text, "OFF") == 0)
+ state_initial = SURF_CPU_OFF;
+ else {
+ CRITICAL2("Invalid cpu state (line %d): %s neq ON or OFF\n", line_pos,
+ surf_parse_text);
+ xbt_abort();
+ }