[libmultipath] move apply_format() from discovery.c to callout.c
authorChristophe Varoqui <root@xa-s05.(none)>
Fri, 20 Jan 2006 14:01:58 +0000 (15:01 +0100)
committerChristophe Varoqui <root@xa-s05.(none)>
Fri, 20 Jan 2006 14:01:58 +0000 (15:01 +0100)
libmultipath/callout.c
libmultipath/callout.h
libmultipath/discovery.c
multipathd/main.c

index c2ba2a4..f4484b0 100644 (file)
 #include <sys/wait.h>
 #include <errno.h>
 
+#include "vector.h"
+#include "structs.h"
+#include "debug.h"
+
 #define PROGRAM_SIZE   100
 #define FIELD_PROGRAM
 
@@ -109,3 +113,79 @@ int execute_program(char *path, char *value, int len)
        }
        return retval;
 }
+
+extern int
+apply_format (char * string, char * cmd, struct path * pp)
+{
+       char * pos;
+       char * dst;
+       char * p;
+       int len;
+       int myfree;
+
+       if (!string)
+               return 1;
+
+       if (!cmd)
+               return 1;
+
+       dst = cmd;
+       p = dst;
+       pos = strchr(string, '%');
+       myfree = CALLOUT_MAX_SIZE;
+
+       if (!pos) {
+               strcpy(dst, string);
+               return 0;
+       }
+
+       len = (int) (pos - string) + 1;
+       myfree -= len;
+
+       if (myfree < 2)
+               return 1;
+
+       snprintf(p, len, "%s", string);
+       p += len - 1;
+       pos++;
+
+       switch (*pos) {
+       case 'n':
+               len = strlen(pp->dev) + 1;
+               myfree -= len;
+
+               if (myfree < 2)
+                       return 1;
+
+               snprintf(p, len, "%s", pp->dev);
+               p += len - 1;
+               break;
+       case 'd':
+               len = strlen(pp->dev_t) + 1;
+               myfree -= len;
+
+               if (myfree < 2)
+                       return 1;
+
+               snprintf(p, len, "%s", pp->dev_t);
+               p += len - 1;
+               break;
+       default:
+               break;
+       }
+       pos++;
+
+       if (!*pos)
+               return 0;
+
+       len = strlen(pos) + 1;
+       myfree -= len;
+
+       if (myfree < 2)
+               return 1;
+
+       snprintf(p, len, "%s", pos);
+       condlog(3, "reformated callout = %s", dst);
+       return 0;
+}
+
index a6a731d..ab648e8 100644 (file)
@@ -1 +1,7 @@
+#ifndef _CALLOUT_H
+#define _CALLOUT_H
+
 int execute_program(char *, char *, int);
+int apply_format (char *, char *, struct path *);
+
+#endif /* _CALLOUT_H */
index 3eda6b3..27429b6 100644 (file)
@@ -588,81 +588,6 @@ sysfs_pathinfo(struct path * pp)
        return 0;
 }
 
-static int
-apply_format (char * string, char * cmd, struct path * pp)
-{
-       char * pos;
-       char * dst;
-       char * p;
-       int len;
-       int myfree;
-
-       if (!string)
-               return 1;
-
-       if (!cmd)
-               return 1;
-
-       dst = cmd;
-       p = dst;
-       pos = strchr(string, '%');
-       myfree = CALLOUT_MAX_SIZE;
-
-       if (!pos) {
-               strcpy(dst, string);
-               return 0;
-       }
-
-       len = (int) (pos - string) + 1;
-       myfree -= len;
-
-       if (myfree < 2)
-               return 1;
-
-       snprintf(p, len, "%s", string);
-       p += len - 1;
-       pos++;
-
-       switch (*pos) {
-       case 'n':
-               len = strlen(pp->dev) + 1;
-               myfree -= len;
-
-               if (myfree < 2)
-                       return 1;
-
-               snprintf(p, len, "%s", pp->dev);
-               p += len - 1;
-               break;
-       case 'd':
-               len = strlen(pp->dev_t) + 1;
-               myfree -= len;
-
-               if (myfree < 2)
-                       return 1;
-
-               snprintf(p, len, "%s", pp->dev_t);
-               p += len - 1;
-               break;
-       default:
-               break;
-       }
-       pos++;
-
-       if (!*pos)
-               return 0;
-
-       len = strlen(pos) + 1;
-       myfree -= len;
-
-       if (myfree < 2)
-               return 1;
-
-       snprintf(p, len, "%s", pos);
-       condlog(3, "reformated callout = %s", dst);
-       return 0;
-}
-
 static int
 scsi_ioctl_pathinfo (struct path * pp, int mask)
 {
index db29d53..3f8f967 100644 (file)
 #include <vector.h>
 #include <memory.h>
 #include <config.h>
-#include <callout.h>
 #include <util.h>
 #include <hwtable.h>
 #include <defaults.h>
 #include <structs.h>
+#include <callout.h>
 #include <blacklist.h>
 #include <structs_vec.h>
 #include <dmparser.h>