-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
src/gimv_thumb_view.cにて、気になる箇所があります。
2026 | void
2027 | gimv_thumb_view_open_image (GimvThumbView *tv, GimvThumb *thumb, gint type)
2028 | {
2029 | GimvThumbWin *tw;
2030 | GimvImageWin *iw = NULL;
2031 | GimvImageView *iv = NULL;
2032 | GList *current, *node;
2033 | const gchar *image_name, *ext;
2034 | gchar *filename, *tmpstr;
2035 |
2036 | g_return_if_fail (GIMV_IS_THUMB_VIEW (tv) && thumb);
2037 |
2038 | tw = tv->tw;
2039 | g_return_if_fail (GIMV_IS_THUMB_WIN (tw));
2040 |
2041 | image_name = gimv_image_info_get_path (thumb->info);
2042 | g_return_if_fail (image_name && *image_name);
2043 | filename = g_strdup (image_name);
2044 |
2045 | gchar *basename = g_path_get_basename (filename);
2046 | if (!strcmp ("..", basename)) {
2047 | tmpstr = filename;
2048 | filename = g_dirname (filename);
2049 | g_free (tmpstr);
2050 | if (filename) {
2051 | tmpstr = filename;
2052 | filename = g_dirname (filename);
2053 | g_free (tmpstr);
2054 | }
2055 | tmpstr = NULL;
2056 | }まず、2046~2056行目のif文の中で、なぜtmpstrが必要なのかが分かりません。filenameのポインタを代入した後は特に利用することもなくg_free()されているので、これは削除しても良いと思うのですが、いかがでしょうか。
次に、入れ子の中のif文で、2回目のfilename = g_dirname (filename)をしているのも気になりました。条件をANDで一纏めにできそうです。
glibの仕様を把握できていないか、勘違いだったらすみません。
Metadata
Metadata
Assignees
Labels
No labels