e_info_server: change screen_dump function to tbm_surface_internal_capture_buffer 98/250498/4
authorJunkyeong Kim <jk0430.kim@samsung.com>
Mon, 28 Dec 2020 09:49:25 +0000 (18:49 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Tue, 29 Dec 2020 08:10:09 +0000 (08:10 +0000)
Change-Id: I8fb2bd4c012720b00b6efd3d1b7d49940482ea8a
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
src/bin/e_info_server.c

index 2b0f19ae38033880afdbc1aae84aea214f5594ae..0e4b72d9ac6099600607ee5363fe92826c2d70bb 100644 (file)
@@ -4689,13 +4689,46 @@ static void
 _e_info_server_cb_screen_dump_cb(E_Output *eout, tbm_surface_h surface, void *user_data)
 {
    char *path = (char *)user_data;
+   char fname[PATH_MAX];
+   char dir[PATH_MAX];
+   char type[PATH_MAX];
+   char *slash, *dot;
+   int dlen = 0, flen = 0;
 
-   tdm_helper_dump_buffer(surface, path);
+   slash = strrchr(path, '/');
+   slash += 1;
 
-   free(path);
-   tbm_surface_destroy(surface);
+   dlen = strnlen(path, PATH_MAX) - strnlen(slash, PATH_MAX);
+   if (dlen <= 0)
+     {
+        ERR("cannot get path");
+        goto done;
+     }
+   strncpy(dir, path, dlen);
+   dir[dlen] = '\0';
+
+   dot = strrchr(path, '.');
+
+   flen = strnlen(slash, PATH_MAX) - strnlen(dot, PATH_MAX);
+   if (flen <= 0)
+     {
+        ERR("cannot get file name");
+        goto done;
+     }
+   strncpy(fname, slash, flen);
+   fname[flen] = '\0';
+
+   dot += 1;
+   strncpy(type, dot, PATH_MAX);
+   type[4] = '\0';
+
+   tbm_surface_internal_capture_buffer(surface, dir, fname, type);
 
    DBG("_e_info_server_cb_screen_dump_cb done");
+
+done:
+   free(path);
+   tbm_surface_destroy(surface);
 }
 
 static Eldbus_Message *