OSSP CVS Repository

ossp - Difference in ossp-pkg/rc/rc_cliopt.c versions 1.3 and 1.4
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [History

ossp-pkg/rc/rc_cliopt.c 1.3 -> 1.4

--- rc_cliopt.c  2002/04/12 19:15:12     1.3
+++ rc_cliopt.c  2002/04/22 12:16:39     1.4
@@ -88,95 +88,97 @@
 * processing the corresponding option  *
 * and update option table accordingly  *
 ***************************************/
-rc_return_t clioptProcess(int cliOption)
+rc_return_t clioptProcess(int cliOption, const char *szArg)
 {
     switch (cliOption) {
+    /* Begin concrete (digital) options */
         case RC_USE_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup("1");  /* Usage    */
             break;
         case RC_DBG_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup("1");  /* Debug    */
             break;
         case RC_VER_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup("1");  /* Version  */
             break;
         case RC_EVL_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup("1");  /* Eval     */
             break;
         case RC_HLP_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup("1");  /* Help     */
             break;
         case RC_INF_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup("1");  /* Info     */
             break;
         case RC_LBL_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup("1");  /* Label    */
             break;
         case RC_PRN_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup("1");  /* Print    */
             break;
         case RC_SIL_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup("1");  /* Silent   */
             break;
         case RC_RAW_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup("1");  /* Raw      */
             break;
         case RC_VRB_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup("1");  /* Verbose  */
             break;
         case RC_EXC_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup("1");  /* Exec     */
             break;
+    /* Begin abstract (nondigital) options */
         case RC_LOC_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup(szArg);    /* Locations      */
             break;
         case RC_CNF_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup(szArg);    /* Conf file      */
             break;
         case RC_FNC_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup(szArg);    /* Func file      */
             break;
         case RC_QRY_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup(szArg);    /* Format         */
             break;
         case RC_TMP_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup(szArg);    /* Temp dir       */
             break;
         case RC_OWN_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup(szArg);    /* User name      */
             break;
         case RC_GRP_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup(szArg);    /* Group name     */
             break;
         case RC_MSK_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup(szArg);    /* Umask          */
             break;
         case RC_ASS_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup(szArg);    /* Assign regex   */
             break;
         case RC_DEF_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup(szArg);    /* Label regex    */
             break;
         case RC_REF_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup(szArg);    /* Ref regex      */
             break;
         case RC_PRM_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup(szArg);    /* Params regex   */
             break;
         case RC_TRM_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup(szArg);    /* Terminal regex */
             break;
         case RC_NCF_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup(szArg);    /* Config name    */
             break;
         case RC_CMN_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup(szArg);    /* Common name    */
             break;
         case RC_DFL_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup(szArg);    /* Default name   */
             break;
         case RC_ERR_VAL:
-            m_szOptuples[cliOption] = strdup("1");
+            m_szOptuples[cliOption] = strdup(szArg);    /* Error name     */
             break;
         default :
             break;
@@ -193,18 +195,18 @@
 {
     static struct popt_option optionsTable[] = {
         /* Long options with short keys but no arguments */
-        { RC_USE_NAME, '?', POPT_ARG_NONE,   0, RC_USE_VAL, RC_USE_DESC, NULL },
-        { RC_DBG_NAME, 'd', POPT_ARG_NONE,   0, RC_DBG_VAL, RC_DBG_DESC, NULL },
-        { RC_VER_NAME, 'V', POPT_ARG_NONE,   0, RC_VER_VAL, RC_VER_DESC, NULL },
-        { RC_EVL_NAME, 'e', POPT_ARG_NONE,   0, RC_EVL_VAL, RC_EVL_DESC, NULL },
-        { RC_HLP_NAME, 'h', POPT_ARG_NONE,   0, RC_HLP_VAL, RC_HLP_DESC, NULL },
-        { RC_INF_NAME, 'i', POPT_ARG_NONE,   0, RC_INF_VAL, RC_INF_DESC, NULL },
-        { RC_LBL_NAME, 'l', POPT_ARG_NONE,   0, RC_LBL_VAL, RC_LBL_DESC, NULL },
-        { RC_PRN_NAME, 'p', POPT_ARG_NONE,   0, RC_PRN_VAL, RC_PRN_DESC, NULL },
-        { RC_SIL_NAME, 's', POPT_ARG_NONE,   0, RC_SIL_VAL, RC_SIL_DESC, NULL },
-        { RC_RAW_NAME, 'r', POPT_ARG_NONE,   0, RC_RAW_VAL, RC_RAW_DESC, NULL },
-        { RC_VRB_NAME, 'v', POPT_ARG_NONE,   0, RC_VRB_VAL, RC_VRB_DESC, NULL },
-        { RC_EXC_NAME, 'x', POPT_ARG_NONE,   0, RC_EXC_VAL, RC_EXC_DESC, NULL },
+        {RC_USE_NAME, '?', POPT_ARG_NONE, 0, RC_USE_VAL, RC_USE_DESC, NULL},
+        {RC_DBG_NAME, 'd', POPT_ARG_NONE, 0, RC_DBG_VAL, RC_DBG_DESC, NULL},
+        {RC_VER_NAME, 'V', POPT_ARG_NONE, 0, RC_VER_VAL, RC_VER_DESC, NULL},
+        {RC_EVL_NAME, 'e', POPT_ARG_NONE, 0, RC_EVL_VAL, RC_EVL_DESC, NULL},
+        {RC_HLP_NAME, 'h', POPT_ARG_NONE, 0, RC_HLP_VAL, RC_HLP_DESC, NULL},
+        {RC_INF_NAME, 'i', POPT_ARG_NONE, 0, RC_INF_VAL, RC_INF_DESC, NULL},
+        {RC_LBL_NAME, 'l', POPT_ARG_NONE, 0, RC_LBL_VAL, RC_LBL_DESC, NULL},
+        {RC_PRN_NAME, 'p', POPT_ARG_NONE, 0, RC_PRN_VAL, RC_PRN_DESC, NULL},
+        {RC_SIL_NAME, 's', POPT_ARG_NONE, 0, RC_SIL_VAL, RC_SIL_DESC, NULL},
+        {RC_RAW_NAME, 'r', POPT_ARG_NONE, 0, RC_RAW_VAL, RC_RAW_DESC, NULL},
+        {RC_VRB_NAME, 'v', POPT_ARG_NONE, 0, RC_VRB_VAL, RC_VRB_DESC, NULL},
+        {RC_EXC_NAME, 'x', POPT_ARG_NONE, 0, RC_EXC_VAL, RC_EXC_DESC, NULL},
                                               
         /* Single argument long options with short keys */
         {RC_LOC_NAME, 'L', POPT_ARG_STRING, 0, RC_LOC_VAL, RC_LOC_DESC, "regx"},
@@ -214,22 +216,22 @@
         {RC_TMP_NAME, 't', POPT_ARG_STRING, 0, RC_TMP_VAL, RC_TMP_DESC, "path"},
 
         /* Single argument long options without short keys */
-        { RC_OWN_NAME, 0, POPT_ARG_STRING, 0, RC_OWN_VAL, RC_OWN_DESC, "user" },
-        { RC_GRP_NAME, 0, POPT_ARG_STRING, 0, RC_GRP_VAL, RC_GRP_DESC, "group"},
-        { RC_MSK_NAME, 0, POPT_ARG_INT,    0, RC_MSK_VAL, RC_MSK_DESC, "umask"},
-        { RC_ASS_NAME, 0, POPT_ARG_STRING, 0, RC_ASS_VAL, RC_ASS_DESC, "regx" },
-        { RC_DEF_NAME, 0, POPT_ARG_STRING, 0, RC_DEF_VAL, RC_DEF_DESC, "regx" },
-        { RC_REF_NAME, 0, POPT_ARG_STRING, 0, RC_REF_VAL, RC_REF_DESC, "regx" },
-        { RC_PRM_NAME, 0, POPT_ARG_STRING, 0, RC_PRM_VAL, RC_PRM_DESC, "regx" },
-        { RC_TRM_NAME, 0, POPT_ARG_STRING, 0, RC_TRM_VAL, RC_TRM_DESC, "regx" },
-        { RC_NCF_NAME, 0, POPT_ARG_STRING, 0, RC_NCF_VAL, RC_NCF_DESC, "name" },
-        { RC_CMN_NAME, 0, POPT_ARG_STRING, 0, RC_CMN_VAL, RC_CMN_DESC, "name" },
-        { RC_DFL_NAME, 0, POPT_ARG_STRING, 0, RC_DFL_VAL, RC_DFL_DESC, "name" },
-        { RC_ERR_NAME, 0, POPT_ARG_STRING, 0, RC_ERR_VAL, RC_ERR_DESC, "name" },
+        {RC_OWN_NAME, 0, POPT_ARG_STRING, 0, RC_OWN_VAL, RC_OWN_DESC, "user"},
+        {RC_GRP_NAME, 0, POPT_ARG_STRING, 0, RC_GRP_VAL, RC_GRP_DESC, "group"},
+        {RC_MSK_NAME, 0, POPT_ARG_INT,    0, RC_MSK_VAL, RC_MSK_DESC, "umask"},
+        {RC_ASS_NAME, 0, POPT_ARG_STRING, 0, RC_ASS_VAL, RC_ASS_DESC, "regx"},
+        {RC_DEF_NAME, 0, POPT_ARG_STRING, 0, RC_DEF_VAL, RC_DEF_DESC, "regx"},
+        {RC_REF_NAME, 0, POPT_ARG_STRING, 0, RC_REF_VAL, RC_REF_DESC, "regx"},
+        {RC_PRM_NAME, 0, POPT_ARG_STRING, 0, RC_PRM_VAL, RC_PRM_DESC, "regx"},
+        {RC_TRM_NAME, 0, POPT_ARG_STRING, 0, RC_TRM_VAL, RC_TRM_DESC, "regx"},
+        {RC_NCF_NAME, 0, POPT_ARG_STRING, 0, RC_NCF_VAL, RC_NCF_DESC, "name"},
+        {RC_CMN_NAME, 0, POPT_ARG_STRING, 0, RC_CMN_VAL, RC_CMN_DESC, "name"},
+        {RC_DFL_NAME, 0, POPT_ARG_STRING, 0, RC_DFL_VAL, RC_DFL_DESC, "name"},
+        {RC_ERR_NAME, 0, POPT_ARG_STRING, 0, RC_ERR_VAL, RC_ERR_DESC, "name"},
 
         /* Special stuff    */
         POPT_AUTOHELP
-        { NULL, 0, 0, NULL, 0 }
+        {NULL, 0, 0, NULL, 0}
     };
 
     ex_t Except;
@@ -248,7 +250,7 @@
     /* Now do options processing */
     while ((cliOpt = popt_getnextopt(optCon)) >= 0)
     ex_try {
-        clioptProcess(cliOpt);
+        clioptProcess(cliOpt, popt_getoptarg(optCon));
     }
     ex_catch(Except) {
         if ((rc_return_t)Except.ex_value != RC_ERR_USE)

CVSTrac 2.0.1