Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(780)

Side by Side Diff: src/trusted/plugin/srpc/utility.cc

Issue 2981011: Move plugin/srpc contents to the more appropriately named plugin/common.... (Closed) Base URL: http://nativeclient.googlecode.com/svn/trunk/src/native_client/
Patch Set: '' Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/trusted/plugin/srpc/utility.h ('k') | src/trusted/plugin/srpc/video_chrome.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /*
2 * Copyright 2009 The Native Client Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can
4 * be found in the LICENSE file.
5 */
6
7 #include <stdlib.h>
8 #include <string.h>
9
10 #include "native_client/src/trusted/plugin/srpc/utility.h"
11
12 namespace plugin {
13
14 int gNaClPluginDebugPrintEnabled = -1;
15
16 /*
17 * Currently only looks for presence of NACL_PLUGIN_DEBUG and returns
18 * 0 if absent and 1 if present. In the future we may include notions
19 * of verbosity level.
20 */
21 int NaClPluginDebugPrintCheckEnv() {
22 char* env = getenv("NACL_PLUGIN_DEBUG");
23 return (NULL != env);
24 }
25
26 bool IsValidIdentifierString(const char* strval, uint32_t* length) {
27 // This function is supposed to recognize valid ECMAScript identifiers,
28 // as described in
29 // http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf
30 // It is currently restricted to only the ASCII subset.
31 // TODO(sehr): Recognize the full Unicode formulation of identifiers.
32 // TODO(sehr): Make this table-driven if efficiency becomes a problem.
33 if (NULL != length) {
34 *length = 0;
35 }
36 if (NULL == strval) {
37 return false;
38 }
39 static const char* kValidFirstChars =
40 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz$_";
41 static const char* kValidOtherChars =
42 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz$_"
43 "0123456789";
44 if (NULL == strchr(kValidFirstChars, strval[0])) {
45 return false;
46 }
47 uint32_t pos;
48 for (pos = 1; ; ++pos) {
49 if (0 == pos) {
50 // Unsigned overflow.
51 return false;
52 }
53 int c = strval[pos];
54 if (0 == c) {
55 break;
56 }
57 if (NULL == strchr(kValidOtherChars, c)) {
58 return false;
59 }
60 }
61 if (NULL != length) {
62 *length = pos;
63 }
64 return true;
65 }
66
67 } // namespace plugin
OLDNEW
« no previous file with comments | « src/trusted/plugin/srpc/utility.h ('k') | src/trusted/plugin/srpc/video_chrome.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698