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

Unified Diff: src/xml/SkBML_XMLParser.cpp

Issue 1868423002: remove unused BML (binary xml) code (Closed) Base URL: https://skia.googlesource.com/skia.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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/xml/SkBML_Verbs.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/xml/SkBML_XMLParser.cpp
diff --git a/src/xml/SkBML_XMLParser.cpp b/src/xml/SkBML_XMLParser.cpp
deleted file mode 100644
index 31d5a99a656541056450f1b52b109e81b5947db4..0000000000000000000000000000000000000000
--- a/src/xml/SkBML_XMLParser.cpp
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * Copyright 2006 The Android Open Source Project
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-
-#include "SkBML_XMLParser.h"
-#include "SkBML_Verbs.h"
-#include "SkStream.h"
-#include "SkXMLWriter.h"
-
-static uint8_t rbyte(SkStream& s)
-{
- uint8_t b;
- SkDEBUGCODE(size_t size = ) s.read(&b, 1);
- SkASSERT(size == 1);
- return b;
-}
-
-static int rdata(SkStream& s, int data)
-{
- SkASSERT((data & ~31) == 0);
- if (data == 31)
- {
- data = rbyte(s);
- if (data == 0xFF)
- {
- data = rbyte(s);
- data = (data << 8) | rbyte(s);
- }
- }
- return data;
-}
-
-static void set(char* array[256], int index, SkStream& s, int data)
-{
- SkASSERT((unsigned)index <= 255);
-
- size_t size = rdata(s, data);
-
- if (array[index] == nullptr)
- array[index] = (char*)sk_malloc_throw(size + 1);
- else
- {
- if (strlen(array[index]) < size)
- array[index] = (char*)sk_realloc_throw(array[index], size + 1);
- }
-
- s.read(array[index], size);
- array[index][size] = 0;
-}
-
-static void freeAll(char* array[256])
-{
- for (int i = 0; i < 256; i++)
- sk_free(array[i]);
-}
-
-struct BMLW {
- char* fElems[256];
- char* fNames[256];
- char* fValues[256];
-
- // important that these are uint8_t, so we get automatic wrap-around
- uint8_t fNextElem, fNextName, fNextValue;
-
- BMLW()
- {
- memset(fElems, 0, sizeof(fElems));
- memset(fNames, 0, sizeof(fNames));
- memset(fValues, 0, sizeof(fValues));
-
- fNextElem = fNextName = fNextValue = 0;
- }
- ~BMLW()
- {
- freeAll(fElems);
- freeAll(fNames);
- freeAll(fValues);
- }
-};
-
-static void rattr(unsigned verb, SkStream& s, BMLW& rec, SkXMLWriter& writer)
-{
- int data = verb & 31;
- verb >>= 5;
-
- int nameIndex, valueIndex;
-
- switch (verb) {
- case kAttr_Value_Value_Verb:
- nameIndex = rec.fNextName; // record before the ++
- set(rec.fNames, rec.fNextName++, s, data);
- valueIndex = rec.fNextValue; // record before the ++
- set(rec.fValues, rec.fNextValue++, s, 31);
- break;
- case kAttr_Value_Index_Verb:
- nameIndex = rec.fNextName; // record before the ++
- set(rec.fNames, rec.fNextName++, s, data);
- valueIndex = rbyte(s);
- break;
- case kAttr_Index_Value_Verb:
- nameIndex = rdata(s, data);
- valueIndex = rec.fNextValue; // record before the ++
- set(rec.fValues, rec.fNextValue++, s, 31);
- break;
- case kAttr_Index_Index_Verb:
- nameIndex = rdata(s, data);
- valueIndex = rbyte(s);
- break;
- default:
- SkDEBUGFAIL("bad verb");
- return;
- }
- writer.addAttribute(rec.fNames[nameIndex], rec.fValues[valueIndex]);
-}
-
-static void relem(unsigned verb, SkStream& s, BMLW& rec, SkXMLWriter& writer)
-{
- int data = verb & 31;
- verb >>= 5;
-
- int elemIndex;
-
- if (verb == kStartElem_Value_Verb)
- {
- elemIndex = rec.fNextElem; // record before the ++
- set(rec.fElems, rec.fNextElem++, s, data);
- }
- else
- {
- SkASSERT(verb == kStartElem_Index_Verb);
- elemIndex = rdata(s, data);
- }
-
- writer.startElement(rec.fElems[elemIndex]);
-
- for (;;)
- {
- verb = rbyte(s);
- switch (verb >> 5) {
- case kAttr_Value_Value_Verb:
- case kAttr_Value_Index_Verb:
- case kAttr_Index_Value_Verb:
- case kAttr_Index_Index_Verb:
- rattr(verb, s, rec, writer);
- break;
- case kStartElem_Value_Verb:
- case kStartElem_Index_Verb:
- relem(verb, s, rec, writer);
- break;
- case kEndElem_Verb:
- writer.endElement();
- return;
- default:
- SkDEBUGFAIL("bad verb");
- }
- }
-}
-
-void BML_XMLParser::Read(SkStream& s, SkXMLWriter& writer)
-{
- BMLW rec;
- writer.writeHeader();
- relem(rbyte(s), s, rec, writer);
-}
-
-void BML_XMLParser::Read(SkStream& s, SkWStream& output)
-{
- SkXMLStreamWriter writer(&output);
- Read(s, writer);
-}
-
-void BML_XMLParser::Read(SkStream& s, SkXMLParser& output)
-{
- SkXMLParserWriter writer(&output);
- Read(s, writer);
-}
« no previous file with comments | « src/xml/SkBML_Verbs.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698