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

Side by Side Diff: nspr/pr/src/io/prscanf.c

Issue 1843333003: Update NSPR to 4.12 and NSS to 3.23 on iOS (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/nss.git@master
Patch Set: Created 4 years, 8 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
OLDNEW
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public 2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 5
6 /* 6 /*
7 * Scan functions for NSPR types 7 * Scan functions for NSPR types
8 * 8 *
9 * Author: Wan-Teh Chang 9 * Author: Wan-Teh Chang
10 * 10 *
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 * (may be more than necessary) to represent a 64-bit integer or 187 * (may be more than necessary) to represent a 64-bit integer or
188 * floating point number. 188 * floating point number.
189 */ 189 */
190 #define FMAX 31 190 #define FMAX 31
191 #define DECIMAL_POINT '.' 191 #define DECIMAL_POINT '.'
192 192
193 static PRStatus 193 static PRStatus
194 GetInt(ScanfState *state, int code) 194 GetInt(ScanfState *state, int code)
195 { 195 {
196 char buf[FMAX + 1], *p; 196 char buf[FMAX + 1], *p;
197 int ch; 197 int ch = 0;
198 static const char digits[] = "0123456789abcdefABCDEF"; 198 static const char digits[] = "0123456789abcdefABCDEF";
199 PRBool seenDigit = PR_FALSE; 199 PRBool seenDigit = PR_FALSE;
200 int base; 200 int base;
201 int dlen; 201 int dlen;
202 202
203 switch (code) { 203 switch (code) {
204 case 'd': case 'u': 204 case 'd': case 'u':
205 base = 10; 205 base = 10;
206 break; 206 break;
207 case 'i': 207 case 'i':
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
297 } 297 }
298 state->converted = PR_TRUE; 298 state->converted = PR_TRUE;
299 } 299 }
300 return PR_SUCCESS; 300 return PR_SUCCESS;
301 } 301 }
302 302
303 static PRStatus 303 static PRStatus
304 GetFloat(ScanfState *state) 304 GetFloat(ScanfState *state)
305 { 305 {
306 char buf[FMAX + 1], *p; 306 char buf[FMAX + 1], *p;
307 int ch; 307 int ch = 0;
308 PRBool seenDigit = PR_FALSE; 308 PRBool seenDigit = PR_FALSE;
309 309
310 if (state->width == 0 || state->width > FMAX) { 310 if (state->width == 0 || state->width > FMAX) {
311 state->width = FMAX; 311 state->width = FMAX;
312 } 312 }
313 p = buf; 313 p = buf;
314 GET_IF_WITHIN_WIDTH(state, ch); 314 GET_IF_WITHIN_WIDTH(state, ch);
315 if (WITHIN_WIDTH(state) && (ch == '+' || ch == '-')) { 315 if (WITHIN_WIDTH(state) && (ch == '+' || ch == '-')) {
316 *p++ = ch; 316 *p++ = ch;
317 GET_IF_WITHIN_WIDTH(state, ch); 317 GET_IF_WITHIN_WIDTH(state, ch);
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after
625 ScanfState state; 625 ScanfState state;
626 626
627 state.get = &StringGetChar; 627 state.get = &StringGetChar;
628 state.unget = &StringUngetChar; 628 state.unget = &StringUngetChar;
629 state.stream = (void *) &buf; 629 state.stream = (void *) &buf;
630 va_start(state.ap, fmt); 630 va_start(state.ap, fmt);
631 rv = DoScanf(&state, fmt); 631 rv = DoScanf(&state, fmt);
632 va_end(state.ap); 632 va_end(state.ap);
633 return rv; 633 return rv;
634 } 634 }
OLDNEW
« no previous file with comments | « nspr/pr/src/io/prprf.c ('k') | nspr/pr/src/md/unix/unix.c » ('j') | nss/lib/util/secoid.c » ('J')

Powered by Google App Engine
This is Rietveld 408576698