annotate parser-mecmd.h @ 24086:f5b32d12b691

remove gconvert_uri_to_filename() and use url_unescape_string() instead. reasons: * gconvert strdup()s the original string, but it may exit without returning or freeing it. * gconvert returns the original pointer when no % escaping is done. It is then free()ed and used in that state. * gconvert doesn't consider that % may be at the end of the string and could continue parsing past the end. * gconvert would try to free() pointer that iconv() have modified. * gconvert would try to convert filenames from utf-8 to iso8859-1. Seems like no other DnD programs convert to utf-8 and/or honors CHARSET. Not converting seems to work best. Fix it if problem arises.
author iive
date Mon, 20 Aug 2007 14:17:43 +0000
parents 1a14fde7680d
children 6ac1ece1f9fe
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8164
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
1
18265
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
2 /// \file
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
3 /// \ingroup ConfigParsers MEntry
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
4 /// \brief A simple parser with per-entry settings.
8164
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
5
18265
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
6 /// \defgroup MEntry MEncoder's playlist
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
7 ///@{
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
8
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
9 /// Playlist entry
8164
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
10 typedef struct m_entry_st {
18265
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
11 /// Filename, url or whatever.
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
12 char* name;
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
13 /// NULL terminated list of name,val pairs.
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
14 char** opts;
8164
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
15 } m_entry_t;
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
16
18265
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
17 /// Free a list returned by \ref m_config_parse_me_command_line.
8164
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
18 void
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
19 m_entry_list_free(m_entry_t* lst);
18265
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
20
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
21 /// Helper to set all config options from an entry.
8164
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
22 int
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
23 m_entry_set_options(m_config_t *config, m_entry_t* entry);
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
24
18265
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
25 /// Setup the \ref Config from command line arguments and build a playlist.
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
26 /** \ingroup ConfigParsers
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
27 */
8164
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
28 m_entry_t*
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
29 m_config_parse_me_command_line(m_config_t *config, int argc, char **argv);
487cfc28525d New config system + cleanup of header inter dependency
albeu
parents:
diff changeset
30
18265
1a14fde7680d Doxygen Attack! - Chapter 3
albeu
parents: 8164
diff changeset
31 ///@}