| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 112 return bufpos; | 112 return bufpos; |
| 113 } | 113 } |
| 114 | 114 |
| 115 const char* unsafe_filename_characters() { | 115 const char* unsafe_filename_characters() { |
| 116 // It might be better to have a single specification which is the union of | 116 // It might be better to have a single specification which is the union of |
| 117 // all operating systems, unless one system is overly restrictive. | 117 // all operating systems, unless one system is overly restrictive. |
| 118 #if defined(WEBRTC_WIN) | 118 #if defined(WEBRTC_WIN) |
| 119 return "\\/:*?\"<>|"; | 119 return "\\/:*?\"<>|"; |
| 120 #else // !WEBRTC_WIN | 120 #else // !WEBRTC_WIN |
| 121 // TODO(grunell): Should this never be reached? | 121 // TODO(grunell): Should this never be reached? |
| 122 RTC_DCHECK(false); | 122 RTC_NOTREACHED(); |
| 123 return ""; | 123 return ""; |
| 124 #endif // !WEBRTC_WIN | 124 #endif // !WEBRTC_WIN |
| 125 } | 125 } |
| 126 | 126 |
| 127 const unsigned char URL_UNSAFE = 0x1; // 0-33 "#$%&+,/:;<=>?@[\]^`{|} 127 | 127 const unsigned char URL_UNSAFE = 0x1; // 0-33 "#$%&+,/:;<=>?@[\]^`{|} 127 |
| 128 const unsigned char XML_UNSAFE = 0x2; // "&'<> | 128 const unsigned char XML_UNSAFE = 0x2; // "&'<> |
| 129 const unsigned char HTML_UNSAFE = 0x2; // "&'<> | 129 const unsigned char HTML_UNSAFE = 0x2; // "&'<> |
| 130 | 130 |
| 131 // ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 6 5 7 8 9 : ; < = > ? | 131 // ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 6 5 7 8 9 : ; < = > ? |
| 132 //@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ | 132 //@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 267 srcpos += 1; | 267 srcpos += 1; |
| 268 if (ASCII_CLASS[ch] & HTML_UNSAFE) { | 268 if (ASCII_CLASS[ch] & HTML_UNSAFE) { |
| 269 const char * escseq = 0; | 269 const char * escseq = 0; |
| 270 size_t esclen = 0; | 270 size_t esclen = 0; |
| 271 switch (ch) { | 271 switch (ch) { |
| 272 case '<': escseq = "<"; esclen = 4; break; | 272 case '<': escseq = "<"; esclen = 4; break; |
| 273 case '>': escseq = ">"; esclen = 4; break; | 273 case '>': escseq = ">"; esclen = 4; break; |
| 274 case '\'': escseq = "'"; esclen = 5; break; | 274 case '\'': escseq = "'"; esclen = 5; break; |
| 275 case '\"': escseq = """; esclen = 6; break; | 275 case '\"': escseq = """; esclen = 6; break; |
| 276 case '&': escseq = "&"; esclen = 5; break; | 276 case '&': escseq = "&"; esclen = 5; break; |
| 277 default: RTC_DCHECK(false); | 277 default: RTC_NOTREACHED(); |
| 278 } | 278 } |
| 279 if (bufpos + esclen >= buflen) { | 279 if (bufpos + esclen >= buflen) { |
| 280 break; | 280 break; |
| 281 } | 281 } |
| 282 memcpy(buffer + bufpos, escseq, esclen); | 282 memcpy(buffer + bufpos, escseq, esclen); |
| 283 bufpos += esclen; | 283 bufpos += esclen; |
| 284 } else { | 284 } else { |
| 285 buffer[bufpos++] = ch; | 285 buffer[bufpos++] = ch; |
| 286 } | 286 } |
| 287 } else { | 287 } else { |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 324 unsigned char ch = source[srcpos++]; | 324 unsigned char ch = source[srcpos++]; |
| 325 if ((ch < 128) && (ASCII_CLASS[ch] & XML_UNSAFE)) { | 325 if ((ch < 128) && (ASCII_CLASS[ch] & XML_UNSAFE)) { |
| 326 const char * escseq = 0; | 326 const char * escseq = 0; |
| 327 size_t esclen = 0; | 327 size_t esclen = 0; |
| 328 switch (ch) { | 328 switch (ch) { |
| 329 case '<': escseq = "<"; esclen = 4; break; | 329 case '<': escseq = "<"; esclen = 4; break; |
| 330 case '>': escseq = ">"; esclen = 4; break; | 330 case '>': escseq = ">"; esclen = 4; break; |
| 331 case '\'': escseq = "'"; esclen = 6; break; | 331 case '\'': escseq = "'"; esclen = 6; break; |
| 332 case '\"': escseq = """; esclen = 6; break; | 332 case '\"': escseq = """; esclen = 6; break; |
| 333 case '&': escseq = "&"; esclen = 5; break; | 333 case '&': escseq = "&"; esclen = 5; break; |
| 334 default: RTC_DCHECK(false); | 334 default: RTC_NOTREACHED(); |
| 335 } | 335 } |
| 336 if (bufpos + esclen >= buflen) { | 336 if (bufpos + esclen >= buflen) { |
| 337 break; | 337 break; |
| 338 } | 338 } |
| 339 memcpy(buffer + bufpos, escseq, esclen); | 339 memcpy(buffer + bufpos, escseq, esclen); |
| 340 bufpos += esclen; | 340 bufpos += esclen; |
| 341 } else { | 341 } else { |
| 342 buffer[bufpos++] = ch; | 342 buffer[bufpos++] = ch; |
| 343 } | 343 } |
| 344 } | 344 } |
| (...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 687 va_list args; | 687 va_list args; |
| 688 va_start(args, format); | 688 va_start(args, format); |
| 689 value.assign(buffer, vsprintfn(buffer, maxlen + 1, format, args)); | 689 value.assign(buffer, vsprintfn(buffer, maxlen + 1, format, args)); |
| 690 va_end(args); | 690 va_end(args); |
| 691 } | 691 } |
| 692 */ | 692 */ |
| 693 | 693 |
| 694 ///////////////////////////////////////////////////////////////////////////// | 694 ///////////////////////////////////////////////////////////////////////////// |
| 695 | 695 |
| 696 } // namespace rtc | 696 } // namespace rtc |
| OLD | NEW |