Update seqcode parsing (new CREAM sources in edg_wll_Source enum).
authorFrantišek Dvořák <valtri@civ.zcu.cz>
Thu, 5 Nov 2009 11:52:01 +0000 (11:52 +0000)
committerFrantišek Dvořák <valtri@civ.zcu.cz>
Thu, 5 Nov 2009 11:52:01 +0000 (11:52 +0000)
org.glite.lb.common/interface/context-int.h
org.glite.lb.common/src/context.c
org.glite.lb.state-machine/src/seqcode_aux.c

index c2e30f6..ede5076 100644 (file)
@@ -31,6 +31,9 @@ extern "C" {
 #define EDG_WLL_SEQ_SIZE       (sizeof(EDG_WLL_SEQ_NULL))
 #define EDG_WLL_SEQ_PBS_SIZE   (sizeof(EDG_WLL_SEQ_PBS_NULL))
 #define EDG_WLL_SEQ_CONDOR_SIZE EDG_WLL_SEQ_PBS_SIZE
+#define EDG_WLL_SEQ_FORMAT_PRINTF      "UI=%06d:NS=%010d:WM=%06d:BH=%010d:JSS=%06d:LM=%06d:LRMS=%06d:APP=%06d:LBS=%06d"
+#define EDG_WLL_SEQ_FORMAT_SCANF       "UI=%d:NS=%d:WM=%d:BH=%d:JSS=%d:LM=%d:LRMS=%d:APP=%d:LBS=%d"
+#define EDG_WLL_SEQ_FORMAT_NUMBER      9
 
 typedef struct _edg_wll_SeqCode {
        unsigned int    type;                           /* seq code type    */
index ec15f6a..32d56a9 100644 (file)
@@ -335,8 +335,7 @@ char *edg_wll_GetSequenceCode(const edg_wll_Context ctx)
                        /* fall through */
                case EDG_WLL_SEQ_NORMAL:
                        c = &ctx->p_seqcode.c[0];
-                       asprintf(&ret, "UI=%06d:NS=%010d:WM=%06d:BH=%010d:JSS=%06d"
-                                               ":LM=%06d:LRMS=%06d:APP=%06d:LBS=%06d",
+                       asprintf(&ret, EDG_WLL_SEQ_FORMAT_PRINTF,
                                        c[EDG_WLL_SOURCE_USER_INTERFACE],
                                        c[EDG_WLL_SOURCE_NETWORK_SERVER],
                                        c[EDG_WLL_SOURCE_WORKLOAD_MANAGER],
@@ -385,7 +384,7 @@ int edg_wll_SetSequenceCode(edg_wll_Context ctx,
                        }
 
                        c = &ctx->p_seqcode.c[0];
-                       res =  sscanf(seqcode_str, "UI=%d:NS=%d:WM=%d:BH=%d:JSS=%d:LM=%d:LRMS=%d:APP=%d:LBS=%d",
+                       res =  sscanf(seqcode_str, EDG_WLL_SEQ_FORMAT_SCANF,
                                        &c[EDG_WLL_SOURCE_USER_INTERFACE],
                                        &c[EDG_WLL_SOURCE_NETWORK_SERVER],
                                        &c[EDG_WLL_SOURCE_WORKLOAD_MANAGER],
@@ -401,7 +400,7 @@ int edg_wll_SetSequenceCode(edg_wll_Context ctx,
                        if (res == EDG_WLL_SOURCE_LB_SERVER-1) {
                                /* pre-collections compatibility */
                                c[EDG_WLL_SOURCE_LB_SERVER] = 0;
-                       } else if (res != EDG_WLL_SOURCE__LAST-1)
+                       } else if (res != EDG_WLL_SEQ_FORMAT_NUMBER)
                                return edg_wll_SetError(ctx, EINVAL,
                                        "edg_wll_SetSequenceCode(): syntax error in sequence code");
 
index 002e21f..2030c82 100644 (file)
@@ -42,7 +42,7 @@ int component_seqcode(const char *a, edg_wll_Source index)
        if (!strstr(a, "LBS")) snprintf(sc,EDG_WLL_SEQ_SIZE,"%s:LBS=000000",a);
        else snprintf(sc,EDG_WLL_SEQ_SIZE,"%s",a);
 
-       res =  sscanf(sc, "UI=%d:NS=%d:WM=%d:BH=%d:JSS=%d:LM=%d:LRMS=%d:APP=%d:LBS=%d",
+       res =  sscanf(sc, EDG_WLL_SEQ_FORMAT_SCANF,
                        &c[EDG_WLL_SOURCE_USER_INTERFACE],
                        &c[EDG_WLL_SOURCE_NETWORK_SERVER],
                        &c[EDG_WLL_SOURCE_WORKLOAD_MANAGER],
@@ -71,7 +71,7 @@ char * set_component_seqcode(char *a,edg_wll_Source index,int val)
        if (!strstr(a, "LBS")) snprintf(sc,EDG_WLL_SEQ_SIZE,"%s:LBS=000000",a);
        else snprintf(sc,EDG_WLL_SEQ_SIZE,"%s",a);
 
-       res =  sscanf(sc, "UI=%d:NS=%d:WM=%d:BH=%d:JSS=%d:LM=%d:LRMS=%d:APP=%d:LBS=%d",
+       res =  sscanf(sc, EDG_WLL_SEQ_FORMAT_SCANF,
                        &c[EDG_WLL_SOURCE_USER_INTERFACE],
                        &c[EDG_WLL_SOURCE_NETWORK_SERVER],
                        &c[EDG_WLL_SOURCE_WORKLOAD_MANAGER],
@@ -88,8 +88,7 @@ char * set_component_seqcode(char *a,edg_wll_Source index,int val)
        }
 
        c[index] = val;
-       trio_asprintf(&ret,"UI=%06d:NS=%010d:WM=%06d:BH=%010d:JSS=%06d"
-                                ":LM=%06d:LRMS=%06d:APP=%06d:LBS=%06d",
+       trio_asprintf(&ret, EDG_WLL_SEQ_FORMAT_PRINTF,
                         c[EDG_WLL_SOURCE_USER_INTERFACE],
                         c[EDG_WLL_SOURCE_NETWORK_SERVER],
                         c[EDG_WLL_SOURCE_WORKLOAD_MANAGER],
@@ -219,7 +218,7 @@ int edg_wll_compare_seq(const char *a, const char *b)
        if (!strstr(b, "LBS")) snprintf(scb,EDG_WLL_SEQ_SIZE,"%s:LBS=000000",b);
        else snprintf(scb,EDG_WLL_SEQ_SIZE,"%s",b);
 
-       res =  sscanf(sca, "UI=%d:NS=%d:WM=%d:BH=%d:JSS=%d:LM=%d:LRMS=%d:APP=%d:LBS=%d",
+       res =  sscanf(sca, EDG_WLL_SEQ_FORMAT_SCANF,
                        &c[EDG_WLL_SOURCE_USER_INTERFACE],
                        &c[EDG_WLL_SOURCE_NETWORK_SERVER],
                        &c[EDG_WLL_SOURCE_WORKLOAD_MANAGER],
@@ -235,7 +234,7 @@ int edg_wll_compare_seq(const char *a, const char *b)
                return -1;
        }
 
-       res =  sscanf(scb, "UI=%d:NS=%d:WM=%d:BH=%d:JSS=%d:LM=%d:LRMS=%d:APP=%d:LBS=%d",
+       res =  sscanf(scb, EDG_WLL_SEQ_FORMAT_SCANF,
                        &d[EDG_WLL_SOURCE_USER_INTERFACE],
                        &d[EDG_WLL_SOURCE_NETWORK_SERVER],
                        &d[EDG_WLL_SOURCE_WORKLOAD_MANAGER],