Hi.

libgpod manipulate sqlite3 db in temporary directory. But the temporary directory is unexpected.

  tmpdir = g_build_path(g_get_tmp_dir(), tmpnam(NULL), NULL);

This doesn't work correctly. IFAIK, g_build_path take path separator for first argument. And if want to make temporary directory, it should be call like follow.

  tmpdir = g_build_path(G_DIR_SEPARATOR_S, g_get_tmp_dir(), ...);

I noticed one more bug. tmpnam(NULL) returns full path string on POSIX environment. For example:

UNIX:
  ex: /tmp/a2aja35

Windows:
  ex: \2s5s.

I guess that this is not expected. Below is a patch. Please check and include.
BTW, Right now, I came to be able to transfer the music in windows with this patch. :)

https://gist.github.com/mattn/9345867


--
- Yasuhiro Matsumoto