Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[webdav] Reduce list of escaped entities to be more compliant #2596

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
253 changes: 0 additions & 253 deletions src/utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1807,264 +1807,11 @@ string escapewebdavchar(const char c)
static std::map<int,const char *> escapesec;
if (unintitialized)
{
escapesec[33] = "&#33;"; // ! //For some reason &Exclamation; was not properly handled (crashed) by gvfsd-dav
escapesec[34] = "&quot;"; // "
escapesec[37] = "&percnt;"; // %
escapesec[38] = "&amp;"; // &
escapesec[39] = "&apos;"; // '
escapesec[43] = "&add;"; // +
escapesec[60] = "&lt;"; // <
escapesec[61] = "&#61;"; // = //For some reason &equal; was not properly handled (crashed) by gvfsd-dav
escapesec[62] = "&gt;"; // >
escapesec[160] = "&nbsp;"; //NO-BREAK SPACE
escapesec[161] = "&iexcl;"; //INVERTED EXCLAMATION MARK
escapesec[162] = "&cent;"; //CENT SIGN
escapesec[163] = "&pound;"; //POUND SIGN
escapesec[164] = "&curren;"; //CURRENCY SIGN
escapesec[165] = "&yen;"; //YEN SIGN
escapesec[166] = "&brvbar;"; //BROKEN BAR
escapesec[167] = "&sect;"; //SECTION SIGN
escapesec[168] = "&uml;"; //DIAERESIS
escapesec[169] = "&copy;"; //COPYRIGHT SIGN
escapesec[170] = "&ordf;"; //FEMININE ORDINAL INDICATOR
escapesec[171] = "&laquo;"; //LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
escapesec[172] = "&not;"; //NOT SIGN
escapesec[173] = "&shy;"; //SOFT HYPHEN
escapesec[174] = "&reg;"; //REGISTERED SIGN
escapesec[175] = "&macr;"; //MACRON
escapesec[176] = "&deg;"; //DEGREE SIGN
escapesec[177] = "&plusmn;"; //PLUS-MINUS SIGN
escapesec[178] = "&sup2;"; //SUPERSCRIPT TWO
escapesec[179] = "&sup3;"; //SUPERSCRIPT THREE
escapesec[180] = "&acute;"; //ACUTE ACCENT
escapesec[181] = "&micro;"; //MICRO SIGN
escapesec[182] = "&para;"; //PILCROW SIGN
escapesec[183] = "&middot;"; //MIDDLE DOT
escapesec[184] = "&cedil;"; //CEDILLA
escapesec[185] = "&sup1;"; //SUPERSCRIPT ONE
escapesec[186] = "&ordm;"; //MASCULINE ORDINAL INDICATOR
escapesec[187] = "&raquo;"; //RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
escapesec[188] = "&frac14;"; //VULGAR FRACTION ONE QUARTER
escapesec[189] = "&frac12;"; //VULGAR FRACTION ONE HALF
escapesec[190] = "&frac34;"; //VULGAR FRACTION THREE QUARTERS
escapesec[191] = "&iquest;"; //INVERTED QUESTION MARK
escapesec[192] = "&Agrave;"; //LATIN CAPITAL LETTER A WITH GRAVE
escapesec[193] = "&Aacute;"; //LATIN CAPITAL LETTER A WITH ACUTE
escapesec[194] = "&Acirc;"; //LATIN CAPITAL LETTER A WITH CIRCUMFLEX
escapesec[195] = "&Atilde;"; //LATIN CAPITAL LETTER A WITH TILDE
escapesec[196] = "&Auml;"; //LATIN CAPITAL LETTER A WITH DIAERESIS
escapesec[197] = "&Aring;"; //LATIN CAPITAL LETTER A WITH RING ABOVE
escapesec[198] = "&AElig;"; //LATIN CAPITAL LETTER AE
escapesec[199] = "&Ccedil;"; //LATIN CAPITAL LETTER C WITH CEDILLA
escapesec[200] = "&Egrave;"; //LATIN CAPITAL LETTER E WITH GRAVE
escapesec[201] = "&Eacute;"; //LATIN CAPITAL LETTER E WITH ACUTE
escapesec[202] = "&Ecirc;"; //LATIN CAPITAL LETTER E WITH CIRCUMFLEX
escapesec[203] = "&Euml;"; //LATIN CAPITAL LETTER E WITH DIAERESIS
escapesec[204] = "&Igrave;"; //LATIN CAPITAL LETTER I WITH GRAVE
escapesec[205] = "&Iacute;"; //LATIN CAPITAL LETTER I WITH ACUTE
escapesec[206] = "&Icirc;"; //LATIN CAPITAL LETTER I WITH CIRCUMFLEX
escapesec[207] = "&Iuml;"; //LATIN CAPITAL LETTER I WITH DIAERESIS
escapesec[208] = "&ETH;"; //LATIN CAPITAL LETTER ETH
escapesec[209] = "&Ntilde;"; //LATIN CAPITAL LETTER N WITH TILDE
escapesec[210] = "&Ograve;"; //LATIN CAPITAL LETTER O WITH GRAVE
escapesec[211] = "&Oacute;"; //LATIN CAPITAL LETTER O WITH ACUTE
escapesec[212] = "&Ocirc;"; //LATIN CAPITAL LETTER O WITH CIRCUMFLEX
escapesec[213] = "&Otilde;"; //LATIN CAPITAL LETTER O WITH TILDE
escapesec[214] = "&Ouml;"; //LATIN CAPITAL LETTER O WITH DIAERESIS
escapesec[215] = "&times;"; //MULTIPLICATION SIGN
escapesec[216] = "&Oslash;"; //LATIN CAPITAL LETTER O WITH STROKE
escapesec[217] = "&Ugrave;"; //LATIN CAPITAL LETTER U WITH GRAVE
escapesec[218] = "&Uacute;"; //LATIN CAPITAL LETTER U WITH ACUTE
escapesec[219] = "&Ucirc;"; //LATIN CAPITAL LETTER U WITH CIRCUMFLEX
escapesec[220] = "&Uuml;"; //LATIN CAPITAL LETTER U WITH DIAERESIS
escapesec[221] = "&Yacute;"; //LATIN CAPITAL LETTER Y WITH ACUTE
escapesec[222] = "&THORN;"; //LATIN CAPITAL LETTER THORN
escapesec[223] = "&szlig;"; //LATIN SMALL LETTER SHARP S
escapesec[224] = "&agrave;"; //LATIN SMALL LETTER A WITH GRAVE
escapesec[225] = "&aacute;"; //LATIN SMALL LETTER A WITH ACUTE
escapesec[226] = "&acirc;"; //LATIN SMALL LETTER A WITH CIRCUMFLEX
escapesec[227] = "&atilde;"; //LATIN SMALL LETTER A WITH TILDE
escapesec[228] = "&auml;"; //LATIN SMALL LETTER A WITH DIAERESIS
escapesec[229] = "&aring;"; //LATIN SMALL LETTER A WITH RING ABOVE
escapesec[230] = "&aelig;"; //LATIN SMALL LETTER AE
escapesec[231] = "&ccedil;"; //LATIN SMALL LETTER C WITH CEDILLA
escapesec[232] = "&egrave;"; //LATIN SMALL LETTER E WITH GRAVE
escapesec[233] = "&eacute;"; //LATIN SMALL LETTER E WITH ACUTE
escapesec[234] = "&ecirc;"; //LATIN SMALL LETTER E WITH CIRCUMFLEX
escapesec[235] = "&euml;"; //LATIN SMALL LETTER E WITH DIAERESIS
escapesec[236] = "&igrave;"; //LATIN SMALL LETTER I WITH GRAVE
escapesec[237] = "&iacute;"; //LATIN SMALL LETTER I WITH ACUTE
escapesec[238] = "&icirc;"; //LATIN SMALL LETTER I WITH CIRCUMFLEX
escapesec[239] = "&iuml;"; //LATIN SMALL LETTER I WITH DIAERESIS
escapesec[240] = "&eth;"; //LATIN SMALL LETTER ETH
escapesec[241] = "&ntilde;"; //LATIN SMALL LETTER N WITH TILDE
escapesec[242] = "&ograve;"; //LATIN SMALL LETTER O WITH GRAVE
escapesec[243] = "&oacute;"; //LATIN SMALL LETTER O WITH ACUTE
escapesec[244] = "&ocirc;"; //LATIN SMALL LETTER O WITH CIRCUMFLEX
escapesec[245] = "&otilde;"; //LATIN SMALL LETTER O WITH TILDE
escapesec[246] = "&ouml;"; //LATIN SMALL LETTER O WITH DIAERESIS
escapesec[247] = "&divide;"; //DIVISION SIGN
escapesec[248] = "&oslash;"; //LATIN SMALL LETTER O WITH STROKE
escapesec[249] = "&ugrave;"; //LATIN SMALL LETTER U WITH GRAVE
escapesec[250] = "&uacute;"; //LATIN SMALL LETTER U WITH ACUTE
escapesec[251] = "&ucirc;"; //LATIN SMALL LETTER U WITH CIRCUMFLEX
escapesec[252] = "&uuml;"; //LATIN SMALL LETTER U WITH DIAERESIS
escapesec[253] = "&yacute;"; //LATIN SMALL LETTER Y WITH ACUTE
escapesec[254] = "&thorn;"; //LATIN SMALL LETTER THORN
escapesec[255] = "&yuml;"; //LATIN SMALL LETTER Y WITH DIAERESIS
escapesec[338] = "&OElig;"; //LATIN CAPITAL LIGATURE OE
escapesec[339] = "&oelig;"; //LATIN SMALL LIGATURE OE
escapesec[352] = "&Scaron;"; //LATIN CAPITAL LETTER S WITH CARON
escapesec[353] = "&scaron;"; //LATIN SMALL LETTER S WITH CARON
escapesec[376] = "&Yuml;"; //LATIN CAPITAL LETTER Y WITH DIAERESIS
escapesec[402] = "&fnof;"; //LATIN SMALL LETTER F WITH HOOK
escapesec[710] = "&circ;"; //MODIFIER LETTER CIRCUMFLEX ACCENT
escapesec[732] = "&tilde;"; //SMALL TILDE
escapesec[913] = "&Alpha;"; //GREEK CAPITAL LETTER ALPHA
escapesec[914] = "&Beta;"; //GREEK CAPITAL LETTER BETA
escapesec[915] = "&Gamma;"; //GREEK CAPITAL LETTER GAMMA
escapesec[916] = "&Delta;"; //GREEK CAPITAL LETTER DELTA
escapesec[917] = "&Epsilon;"; //GREEK CAPITAL LETTER EPSILON
escapesec[918] = "&Zeta;"; //GREEK CAPITAL LETTER ZETA
escapesec[919] = "&Eta;"; //GREEK CAPITAL LETTER ETA
escapesec[920] = "&Theta;"; //GREEK CAPITAL LETTER THETA
escapesec[921] = "&Iota;"; //GREEK CAPITAL LETTER IOTA
escapesec[922] = "&Kappa;"; //GREEK CAPITAL LETTER KAPPA
escapesec[923] = "&Lambda;"; //GREEK CAPITAL LETTER LAMDA
escapesec[924] = "&Mu;"; //GREEK CAPITAL LETTER MU
escapesec[925] = "&Nu;"; //GREEK CAPITAL LETTER NU
escapesec[926] = "&Xi;"; //GREEK CAPITAL LETTER XI
escapesec[927] = "&Omicron;"; //GREEK CAPITAL LETTER OMICRON
escapesec[928] = "&Pi;"; //GREEK CAPITAL LETTER PI
escapesec[929] = "&Rho;"; //GREEK CAPITAL LETTER RHO
escapesec[931] = "&Sigma;"; //GREEK CAPITAL LETTER SIGMA
escapesec[932] = "&Tau;"; //GREEK CAPITAL LETTER TAU
escapesec[933] = "&Upsilon;"; //GREEK CAPITAL LETTER UPSILON
escapesec[934] = "&Phi;"; //GREEK CAPITAL LETTER PHI
escapesec[935] = "&Chi;"; //GREEK CAPITAL LETTER CHI
escapesec[936] = "&Psi;"; //GREEK CAPITAL LETTER PSI
escapesec[937] = "&Omega;"; //GREEK CAPITAL LETTER OMEGA
escapesec[945] = "&alpha;"; //GREEK SMALL LETTER ALPHA
escapesec[946] = "&beta;"; //GREEK SMALL LETTER BETA
escapesec[947] = "&gamma;"; //GREEK SMALL LETTER GAMMA
escapesec[948] = "&delta;"; //GREEK SMALL LETTER DELTA
escapesec[949] = "&epsilon;"; //GREEK SMALL LETTER EPSILON
escapesec[950] = "&zeta;"; //GREEK SMALL LETTER ZETA
escapesec[951] = "&eta;"; //GREEK SMALL LETTER ETA
escapesec[952] = "&theta;"; //GREEK SMALL LETTER THETA
escapesec[953] = "&iota;"; //GREEK SMALL LETTER IOTA
escapesec[954] = "&kappa;"; //GREEK SMALL LETTER KAPPA
escapesec[955] = "&lambda;"; //GREEK SMALL LETTER LAMDA
escapesec[956] = "&mu;"; //GREEK SMALL LETTER MU
escapesec[957] = "&nu;"; //GREEK SMALL LETTER NU
escapesec[958] = "&xi;"; //GREEK SMALL LETTER XI
escapesec[959] = "&omicron;"; //GREEK SMALL LETTER OMICRON
escapesec[960] = "&pi;"; //GREEK SMALL LETTER PI
escapesec[961] = "&rho;"; //GREEK SMALL LETTER RHO
escapesec[962] = "&sigmaf;"; //GREEK SMALL LETTER FINAL SIGMA
escapesec[963] = "&sigma;"; //GREEK SMALL LETTER SIGMA
escapesec[964] = "&tau;"; //GREEK SMALL LETTER TAU
escapesec[965] = "&upsilon;"; //GREEK SMALL LETTER UPSILON
escapesec[966] = "&phi;"; //GREEK SMALL LETTER PHI
escapesec[967] = "&chi;"; //GREEK SMALL LETTER CHI
escapesec[968] = "&psi;"; //GREEK SMALL LETTER PSI
escapesec[969] = "&omega;"; //GREEK SMALL LETTER OMEGA
escapesec[977] = "&thetasym;"; //GREEK THETA SYMBOL
escapesec[978] = "&upsih;"; //GREEK UPSILON WITH HOOK SYMBOL
escapesec[982] = "&piv;"; //GREEK PI SYMBOL
escapesec[8194] = "&ensp;"; //EN SPACE
escapesec[8195] = "&emsp;"; //EM SPACE
escapesec[8201] = "&thinsp;"; //THIN SPACE
escapesec[8204] = "&zwnj;"; //ZERO WIDTH NON-JOINER
escapesec[8205] = "&zwj;"; //ZERO WIDTH JOINER
escapesec[8206] = "&lrm;"; //LEFT-TO-RIGHT MARK
escapesec[8207] = "&rlm;"; //RIGHT-TO-LEFT MARK
escapesec[8211] = "&ndash;"; //EN DASH
escapesec[8212] = "&mdash;"; //EM DASH
escapesec[8213] = "&horbar;"; //HORIZONTAL BAR
escapesec[8216] = "&lsquo;"; //LEFT SINGLE QUOTATION MARK
escapesec[8217] = "&rsquo;"; //RIGHT SINGLE QUOTATION MARK
escapesec[8218] = "&sbquo;"; //SINGLE LOW-9 QUOTATION MARK
escapesec[8220] = "&ldquo;"; //LEFT DOUBLE QUOTATION MARK
escapesec[8221] = "&rdquo;"; //RIGHT DOUBLE QUOTATION MARK
escapesec[8222] = "&bdquo;"; //DOUBLE LOW-9 QUOTATION MARK
escapesec[8224] = "&dagger;"; //DAGGER
escapesec[8225] = "&Dagger;"; //DOUBLE DAGGER
escapesec[8226] = "&bull;"; //BULLET
escapesec[8230] = "&hellip;"; //HORIZONTAL ELLIPSIS
escapesec[8240] = "&permil;"; //PER MILLE SIGN
escapesec[8242] = "&prime;"; //PRIME
escapesec[8243] = "&Prime;"; //DOUBLE PRIME
escapesec[8249] = "&lsaquo;"; //SINGLE LEFT-POINTING ANGLE QUOTATION MARK
escapesec[8250] = "&rsaquo;"; //SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
escapesec[8254] = "&oline;"; //OVERLINE
escapesec[8260] = "&frasl;"; //FRACTION SLASH
escapesec[8364] = "&euro;"; //EURO SIGN
escapesec[8465] = "&image;"; //BLACK-LETTER CAPITAL I
escapesec[8472] = "&weierp;"; //SCRIPT CAPITAL P
escapesec[8476] = "&real;"; //BLACK-LETTER CAPITAL R
escapesec[8482] = "&trade;"; //TRADE MARK SIGN
escapesec[8501] = "&alefsym;"; //ALEF SYMBOL
escapesec[8592] = "&larr;"; //LEFTWARDS ARROW
escapesec[8593] = "&uarr;"; //UPWARDS ARROW
escapesec[8594] = "&rarr;"; //RIGHTWARDS ARROW
escapesec[8595] = "&darr;"; //DOWNWARDS ARROW
escapesec[8596] = "&harr;"; //LEFT RIGHT ARROW
escapesec[8629] = "&crarr;"; //DOWNWARDS ARROW WITH CORNER LEFTWARDS
escapesec[8656] = "&lArr;"; //LEFTWARDS DOUBLE ARROW
escapesec[8657] = "&uArr;"; //UPWARDS DOUBLE ARROW
escapesec[8658] = "&rArr;"; //RIGHTWARDS DOUBLE ARROW
escapesec[8659] = "&dArr;"; //DOWNWARDS DOUBLE ARROW
escapesec[8660] = "&hArr;"; //LEFT RIGHT DOUBLE ARROW
escapesec[8704] = "&forall;"; //FOR ALL
escapesec[8706] = "&part;"; //PARTIAL DIFFERENTIAL
escapesec[8707] = "&exist;"; //THERE EXISTS
escapesec[8709] = "&empty;"; //EMPTY SET
escapesec[8711] = "&nabla;"; //NABLA
escapesec[8712] = "&isin;"; //ELEMENT OF
escapesec[8713] = "&notin;"; //NOT AN ELEMENT OF
escapesec[8715] = "&ni;"; //CONTAINS AS MEMBER
escapesec[8719] = "&prod;"; //N-ARY PRODUCT
escapesec[8721] = "&sum;"; //N-ARY SUMMATION
escapesec[8722] = "&minus;"; //MINUS SIGN
escapesec[8727] = "&lowast;"; //ASTERISK OPERATOR
escapesec[8730] = "&radic;"; //SQUARE ROOT
escapesec[8733] = "&prop;"; //PROPORTIONAL TO
escapesec[8734] = "&infin;"; //INFINITY
escapesec[8736] = "&ang;"; //ANGLE
escapesec[8743] = "&and;"; //LOGICAL AND
escapesec[8744] = "&or;"; //LOGICAL OR
escapesec[8745] = "&cap;"; //INTERSECTION
escapesec[8746] = "&cup;"; //UNION
escapesec[8747] = "&int;"; //INTEGRAL
escapesec[8756] = "&there4;"; //THEREFORE
escapesec[8764] = "&sim;"; //TILDE OPERATOR
escapesec[8773] = "&cong;"; //APPROXIMATELY EQUAL TO
escapesec[8776] = "&asymp;"; //ALMOST EQUAL TO
escapesec[8800] = "&ne;"; //NOT EQUAL TO
escapesec[8801] = "&equiv;"; //IDENTICAL TO
escapesec[8804] = "&le;"; //LESS-THAN OR EQUAL TO
escapesec[8805] = "&ge;"; //GREATER-THAN OR EQUAL TO
escapesec[8834] = "&sub;"; //SUBSET OF
escapesec[8835] = "&sup;"; //SUPERSET OF
escapesec[8836] = "&nsub;"; //NOT A SUBSET OF
escapesec[8838] = "&sube;"; //SUBSET OF OR EQUAL TO
escapesec[8839] = "&supe;"; //SUPERSET OF OR EQUAL TO
escapesec[8853] = "&oplus;"; //CIRCLED PLUS
escapesec[8855] = "&otimes;"; //CIRCLED TIMES
escapesec[8869] = "&perp;"; //UP TACK
escapesec[8901] = "&sdot;"; //DOT OPERATOR
escapesec[8968] = "&lceil;"; //LEFT CEILING
escapesec[8969] = "&rceil;"; //RIGHT CEILING
escapesec[8970] = "&lfloor;"; //LEFT FLOOR
escapesec[8971] = "&rfloor;"; //RIGHT FLOOR
escapesec[9001] = "&lang;"; //LEFT-POINTING ANGLE BRACKET
escapesec[9002] = "&rang;"; //RIGHT-POINTING ANGLE BRACKET
escapesec[9674] = "&loz;"; //LOZENGE
escapesec[9824] = "&spades;"; //BLACK SPADE SUIT
escapesec[9827] = "&clubs;"; //BLACK CLUB SUIT
escapesec[9829] = "&hearts;"; //BLACK HEART SUIT
escapesec[9830] = "&diams;"; //BLACK DIAMOND SUIT

unintitialized = false;
}
Expand Down