aboutsummaryrefslogtreecommitdiffstats
path: root/unmaintained/mp3info/escape_chars.patch
diff options
context:
space:
mode:
Diffstat (limited to 'unmaintained/mp3info/escape_chars.patch')
-rw-r--r--unmaintained/mp3info/escape_chars.patch138
1 files changed, 0 insertions, 138 deletions
diff --git a/unmaintained/mp3info/escape_chars.patch b/unmaintained/mp3info/escape_chars.patch
deleted file mode 100644
index ec697a2863..0000000000
--- a/unmaintained/mp3info/escape_chars.patch
+++ /dev/null
@@ -1,138 +0,0 @@
---- orig/mp3info-0.8.5a/mp3info.c Mon Nov 6 04:03:17 2006
-+++ mp3info-0.8.5a/mp3info.c Thu Mar 19 12:33:27 2009
-@@ -32,6 +32,7 @@
- #undef __MAIN
- #include <sys/stat.h>
-
-+char *escape_chars=NULL;
- char FILENAME_FORMAT_STRING[]="File: %F\n";
- char ID3_FORMAT_STRING[]="Title: %-30t Track: %n\nArtist: %a\nAlbum: %-30l Year: %y\nComment: %-30c Genre: %g [%G]\n";
- char TECH_FORMAT_STRING[]="Media Type: MPEG %2.1v Layer %L\nAudio: %r KB/s, %qKHz (%o)\nEmphasis: %e\nCRC: %E\nCopyright: %C\nOriginal: %O\nPadding: %p\nLength: %m:%02s\n";
-@@ -66,7 +67,7 @@
-
-
-
-- while ((c=getopt(argc,argv,"vhGidfxFt:a:l:y:c:n:g:p:r:"))!=-1) {
-+ while ((c=getopt(argc,argv,"vhGidfxFmt:a:l:y:c:n:g:p:r:e:"))!=-1) {
-
- switch(c) {
- case 'v': /* View mode is now automatic when no changes are
-@@ -159,6 +160,12 @@
- }
- break;
- case 'F': quickscan=0; break;
-+ case 'e':
-+ escape_chars = optarg;
-+ break;
-+ case 'm':
-+ escape_chars = "'\"\b\n\r\t\\";
-+ break;
- }
- }
-
---- orig/mp3info-0.8.5a/mp3info.h Fri Nov 10 00:14:52 2006
-+++ mp3info-0.8.5a/mp3info.h Thu Mar 19 10:42:07 2009
-@@ -111,6 +111,7 @@
- extern int galphagenreindex [MAXGENRE+2];
- #endif
-
-+extern char *escape_chars;
- void tagedit_curs(char *filename, int filenum, int fileoutof, id3tag *tag);
-
-
---- orig/mp3info-0.8.5a/textfunc.c Mon Nov 6 08:59:12 2006
-+++ mp3info-0.8.5a/textfunc.c Thu Mar 19 12:24:52 2009
-@@ -24,6 +24,7 @@
- */
-
- #include "mp3info.h"
-+#include "libgen.h"
-
- char *layer_text[] = {
- "I", "II", "III"
-@@ -70,6 +71,8 @@
- "\t-n track\tSpecify ID3 v1.1 track number\n"\
- "\t-t title\tSpecify ID3 track title\n"\
- "\t-y year\t\tSpecify ID3 copyright year\n\n"\
-+ "\t-m\t\tMySQL safe output\n"\
-+ "\t-e\t\tCharacters to escape\n"\
- "\t-G\t\tDisplay valid genres\n"\
- "\t-h\t\tDisplay this help page\n"\
- "\t-x\t\tDisplay technical attributes of the MP3 file\n"\
-@@ -85,6 +88,7 @@
- "\n\t\tConversion Specifiers\n\n"\
- "\t\t%%f\tFilename without the path (string)\n"\
- "\t\t%%F\tFilename with the path (string)\n"\
-+ "\t\t%%d\tPath without filename (string)\n"\
- "\t\t%%k\tFile size in KB (integer)\n"\
- "\n\t\t%%a\tArtist (string)\n"\
- "\t\t%%c\tComment (string)\n"\
-@@ -217,7 +221,27 @@
- }
- }
-
-+/* const char *escape_chars = "'\"\b\n\r\t\\%_"; */
-+/* escape the chars so its sql safe */
-+char *escape_string(char *str)
-+{
-+ static char buf[8192];
-+ char *src = str;
-+ char *dest = buf;
-
-+ /* we might want a cmdline flag to enable escaping */
-+ if (escape_chars == NULL || str == NULL)
-+ return str;
-+
-+ while (*src && dest < (buf + sizeof(buf) - 1)) {
-+ if (strchr(escape_chars, *src))
-+ *dest++ = '\\';
-+ *dest++ = *src++;
-+ }
-+ *dest = '\0';
-+ return buf;
-+}
-+
- void format_output (char *format_string,mp3info *mp3, int vbr_report) {
-
- char genre[40]="";
-@@ -242,16 +266,16 @@
- mod[modlen]=0;
- mod[modlen-1]='s';
- switch (*code) {
-- case 't': printf(mod,mp3->id3.title); break;
-+ case 't': printf(mod,escape_string(mp3->id3.title)); break;
- case 'f': pos = (pos=strrchr(mp3->filename,'/')) ?
- pos+1 : mp3->filename;
-- printf(mod,pos); break;
-- case 'F': printf(mod,mp3->filename); break;
-- case 'a': printf(mod,mp3->id3.artist); break;
-- case 'l': printf(mod,mp3->id3.album); break;
-+ printf(mod,escape_string(pos)); break;
-+ case 'F': printf(mod,escape_string(mp3->filename)); break;
-+ case 'a': printf(mod,escape_string(mp3->id3.artist)); break;
-+ case 'l': printf(mod,escape_string(mp3->id3.album)); break;
- case 'k': mod[modlen-1] = 'd'; printf(mod,mp3->datasize / 1024); break;
-- case 'y': printf(mod,mp3->id3.year); break;
-- case 'c': printf(mod,mp3->id3.comment); break;
-+ case 'y': printf(mod,escape_string(mp3->id3.year)); break;
-+ case 'c': printf(mod,escape_string(mp3->id3.comment)); break;
- case 'n': if(mp3->id3_isvalid && mp3->id3.track[0]) {
- mod[modlen-1]='d';
- printf(mod, (int) mp3->id3.track[0]);
-@@ -259,7 +283,7 @@
- break;
- case 'g': if(mp3->id3_isvalid) {
- text_genre(mp3->id3.genre,genre);
-- printf(mod,genre);
-+ printf(mod,escape_string(genre));
- }
- break;
- case 'G': if(mp3->id3_isvalid) {
-@@ -348,6 +372,7 @@
- }
- break;
- case '%': printf("%%"); break;
-+ case 'd': printf(mod,escape_string(dirname(mp3->filename))); break;
- default: printf("%%%c",*(code=percent+1)); break;
- }
- format=code+1;