netstar pushed a commit to branch master.

http://git.enlightenment.org/apps/evisum.git/commit/?id=92e72dfec1e232684498ad9a9350806031fa0b7b

commit 92e72dfec1e232684498ad9a9350806031fa0b7b
Author: Alastair Poole <[email protected]>
Date:   Fri May 15 14:27:34 2020 +0100

    proc: remove duplicate code
---
 src/bin/system/process.c | 131 ++++++++++++++++++-----------------------------
 1 file changed, 50 insertions(+), 81 deletions(-)

diff --git a/src/bin/system/process.c b/src/bin/system/process.c
index 24172dd..154c68f 100644
--- a/src/bin/system/process.c
+++ b/src/bin/system/process.c
@@ -820,6 +820,55 @@ _process_list_freebsd_fallback_get(void)
    return list;
 }
 
+static void
+_cmd_get(Proc_Info *p, struct kinfo_proc *kp)
+{
+   kvm_t * kern;
+   char **args;
+   char name[1024];
+   Eina_Bool have_command = EINA_FALSE;
+
+   kern = kvm_open(NULL, "/dev/null", NULL, O_RDONLY, "kvm_open");
+   if (kern != NULL)
+     {
+        if ((args = kvm_getargv(kern, kp, sizeof(name)-1)))
+          {
+             if (args[0])
+               {
+                  char *base = strdup(args[0]);
+                  if (base)
+                    {
+                       char *spc = strchr(base, ' ');
+                       if (spc) *spc = '\0';
+
+                       if (ecore_file_exists(base))
+                         {
+                            snprintf(name, sizeof(name), "%s", basename(base));
+                            have_command = EINA_TRUE;
+                         }
+                       free(base);
+                    }
+               }
+             Eina_Strbuf *buf = eina_strbuf_new();
+             for (int i = 0; args[i] != NULL; i++)
+               {
+                  eina_strbuf_append(buf, args[i]);
+                  if (args[i + 1])
+                    eina_strbuf_append(buf, " ");
+               }
+             p->arguments = eina_strbuf_string_steal(buf);
+             eina_strbuf_free(buf);
+          }
+        kvm_close(kern);
+     }
+
+   if (!have_command)
+     snprintf(name, sizeof(name), "%s", kp->ki_comm);
+
+   p->command = strdup(name);
+}
+
+
 static Eina_List *
 _process_list_freebsd_get(void)
 {
@@ -864,39 +913,7 @@ _process_list_freebsd_get(void)
         if (p->cpu_id == -1)
           p->cpu_id = kp->ki_lastcpu;
 
-        if ((args = kvm_getargv(kern, kp, sizeof(name)-1)))
-          {
-             if (args[0])
-               {
-                  char *base = strdup(args[0]);
-                  if (base)
-                    {
-                       char *spc = strchr(base, ' ');
-                       if (spc) *spc = '\0';
-
-                       if (ecore_file_exists(base))
-                         {
-                            snprintf(name, sizeof(name), "%s", basename(base));
-                            have_command = EINA_TRUE;
-                         }
-                       free(base);
-                    }
-               }
-             Eina_Strbuf *buf = eina_strbuf_new();
-             for (int i = 0; args[i] != NULL; i++)
-               {
-                  eina_strbuf_append(buf, args[i]);
-                  if (args[i + 1])
-                    eina_strbuf_append(buf, " ");
-               }
-             p->arguments = eina_strbuf_string_steal(buf);
-             eina_strbuf_free(buf);
-          }
-
-        if (!have_command)
-         snprintf(name, sizeof(name), "%s", kp->ki_comm);
-
-        p->command = strdup(name);
+       _cmd_get(p, kp);
 
         usage = &kp->ki_rusage;
         p->cpu_time = (usage->ru_utime.tv_sec * 1000000) +
@@ -919,54 +936,6 @@ _process_list_freebsd_get(void)
    return list;
 }
 
-static void
-_cmd_get(Proc_Info *p, struct kinfo_proc *kp)
-{
-   kvm_t * kern;
-   char **args;
-   char name[1024];
-   Eina_Bool have_command = EINA_FALSE;
-
-   kern = kvm_open(NULL, "/dev/null", NULL, O_RDONLY, "kvm_open");
-   if (kern != NULL)
-     {
-        if ((args = kvm_getargv(kern, kp, sizeof(name)-1)))
-          {
-             if (args[0])
-               {
-                  char *base = strdup(args[0]);
-                  if (base)
-                    {
-                       char *spc = strchr(base, ' ');
-                       if (spc) *spc = '\0';
-
-                       if (ecore_file_exists(base))
-                         {
-                            snprintf(name, sizeof(name), "%s", basename(base));
-                            have_command = EINA_TRUE;
-                         }
-                       free(base);
-                    }
-               }
-             Eina_Strbuf *buf = eina_strbuf_new();
-             for (int i = 0; args[i] != NULL; i++)
-               {
-                  eina_strbuf_append(buf, args[i]);
-                  if (args[i + 1])
-                    eina_strbuf_append(buf, " ");
-               }
-             p->arguments = eina_strbuf_string_steal(buf);
-             eina_strbuf_free(buf);
-          }
-        kvm_close(kern);
-     }
-
-   if (!have_command)
-     snprintf(name, sizeof(name), "%s", kp->ki_comm);
-
-   p->command = strdup(name);
-}
-
 static Proc_Info *
 _proc_info_by_pid_fallback(int pid)
 {

-- 


Reply via email to