about summary refs log tree commit homepage
path: root/mgmt_parser.rl
diff options
context:
space:
mode:
Diffstat (limited to 'mgmt_parser.rl')
-rw-r--r--mgmt_parser.rl15
1 files changed, 8 insertions, 7 deletions
diff --git a/mgmt_parser.rl b/mgmt_parser.rl
index e183cc3..d8342a1 100644
--- a/mgmt_parser.rl
+++ b/mgmt_parser.rl
@@ -11,15 +11,15 @@
  */
 static void set_prio_fsck(struct mog_mgmt *mgmt)
 {
-        if (mgmt->svc->mgmt_fd >= 0)
+        if (mgmt->svc->mgmt_mfd)
                 mgmt->prio = MOG_PRIO_FSCK;
 }
 
 %%{
         machine mgmt_parser;
+        include path_parser "path_parser.rl";
 
         eor = '\r'?'\n';
-        path = "/"[a-zA-Z0-9/\.\-]*;
         reason = ' '("fsck" @ { set_prio_fsck(mgmt); } | [a-zA-Z0-9_]+);
         invalid_line := (
                 [ \t]*
@@ -32,7 +32,7 @@ static void set_prio_fsck(struct mog_mgmt *mgmt)
                 fbreak;
         };
         size = (
-                "size "(path) > { mgmt->mark[0] = fpc - buf; }
+                "size "(mog_path) > { mgmt->mark[0] = fpc - buf; }
                 eor > { mgmt->mark[1] = fpc - buf; }
                 @ { mog_mgmt_fn_size(mgmt, buf); fbreak; }
         );
@@ -43,7 +43,7 @@ static void set_prio_fsck(struct mog_mgmt *mgmt)
                         "SHA-1" @ { mgmt->alg = GC_SHA1; }
                 )
                 " "
-                (path) > { mgmt->mark[0] = fpc - buf; }
+                (mog_path) > { mgmt->mark[0] = fpc - buf; }
                 ( reason? eor) > { mgmt->mark[1] = fpc - buf; }
                 @ { mog_mgmt_fn_digest(mgmt, buf); fbreak; }
         );
@@ -99,7 +99,8 @@ mog_mgmt_parse(struct mog_mgmt *mgmt, char *buf, size_t len)
         char *p, *pe, *eof = NULL;
         int cs = mgmt->cs;
         int really_done = 0;
-        size_t off = mgmt->offset;
+        size_t off = mgmt->buf_off;
+        uint32_t *mog_devid = &mgmt->mog_devid;
 
         assert(mgmt->wbuf == NULL && "unwritten data in buffer");
         assert(off <= len && "mgmt offset past end of buffer");
@@ -116,13 +117,13 @@ mog_mgmt_parse(struct mog_mgmt *mgmt, char *buf, size_t len)
                 cs = mgmt_parser_first_final;
 
         mgmt->cs = cs;
-        mgmt->offset = p - buf;
+        mgmt->buf_off = p - buf;
 
         if (cs == mgmt_parser_error)
                 return MOG_PARSER_ERROR;
 
         assert(p <= pe && "buffer overflow after mgmt parse");
-        assert(mgmt->offset <= len && "offset longer than len");
+        assert(mgmt->buf_off <= len && "offset longer than len");
 
         if (mgmt->cs == mgmt_parser_first_final) return MOG_PARSER_DONE;
         return MOG_PARSER_CONTINUE;