From d909922df7a86eddc4918ff8090cda5f78378144 Mon Sep 17 00:00:00 2001 From: Paul Backus Date: Mon, 14 May 2018 15:42:52 -0400 Subject: [PATCH 1/2] cgi: fix build errors with dmd 2.080.0 --- cgi.d | 201 ++++++++++++++++++++++++++++------------------------------ 1 file changed, 98 insertions(+), 103 deletions(-) diff --git a/cgi.d b/cgi.d index adc2f41..e200891 100644 --- a/cgi.d +++ b/cgi.d @@ -519,59 +519,57 @@ class Cgi { if(arg.startsWith("--")) { nextArgIs = arg[2 .. $]; } else if(nextArgIs.length) { - switch(nextArgIs) { - case "cookie": - auto info = breakUp(arg); - if(_cookie.length) - _cookie ~= "; "; - _cookie ~= std.uri.encodeComponent(info[0]) ~ "=" ~ std.uri.encodeComponent(info[1]); - break; - case "port": - port = to!int(arg); - break; - case "referrer": - referrer = arg; - break; - case "remote-address": - remoteAddress = arg; - break; - case "user-agent": - userAgent = arg; - break; - case "authorization": - authorization = arg; - break; - case "userpass": - authorization = "Basic " ~ Base64.encode(cast(immutable(ubyte)[]) (arg)).idup; - break; - case "origin": - origin = arg; - break; - case "accept": - accept = arg; - break; - case "last-event-id": - lastEventId = arg; - break; - case "https": - if(arg == "yes") - https = true; - break; - case "header": - string thing, other; - auto idx = arg.indexOf(":"); - if(idx == -1) - throw new Exception("need a colon in a http header"); - thing = arg[0 .. idx]; - other = arg[idx + 1.. $]; - _headers[thing.strip.toLower()] = other.strip; - break; - case "host": - host = arg; - break; - default: - // skip, we don't know it but that's ok, it might be used elsewhere so no error + if (nextArgIs == "cookie") { + auto info = breakUp(arg); + if(_cookie.length) + _cookie ~= "; "; + _cookie ~= std.uri.encodeComponent(info[0]) ~ "=" ~ std.uri.encodeComponent(info[1]); } + else if (nextArgIs == "port") { + port = to!int(arg); + } + else if (nextArgIs == "referrer") { + referrer = arg; + } + else if (nextArgIs == "remote-address") { + remoteAddress = arg; + } + else if (nextArgIs == "user-agent") { + userAgent = arg; + } + else if (nextArgIs == "authorization") { + authorization = arg; + } + else if (nextArgIs == "userpass") { + authorization = "Basic " ~ Base64.encode(cast(immutable(ubyte)[]) (arg)).idup; + } + else if (nextArgIs == "origin") { + origin = arg; + } + else if (nextArgIs == "accept") { + accept = arg; + } + else if (nextArgIs == "last-event-id") { + lastEventId = arg; + } + else if (nextArgIs == "https") { + if(arg == "yes") + https = true; + } + else if (nextArgIs == "header") { + string thing, other; + auto idx = arg.indexOf(":"); + if(idx == -1) + throw new Exception("need a colon in a http header"); + thing = arg[0 .. idx]; + other = arg[idx + 1.. $]; + _headers[thing.strip.toLower()] = other.strip; + } + else if (nextArgIs == "host") { + host = arg; + } + // else + // skip, we don't know it but that's ok, it might be used elsewhere so no error nextArgIs = null; } else if(lookingForMethod) { @@ -1523,58 +1521,55 @@ class Cgi { requestHeadersHere[name] = value; - switch(name) { - case "accept": - accept = value; - break; - case "origin": - origin = value; - break; - case "connection": - if(value == "close" && closeConnection) - *closeConnection = true; - if(value.toLower().indexOf("keep-alive") != -1) - keepAliveRequested = true; - break; - case "transfer-encoding": - if(value == "chunked") - isChunked = true; - break; - case "last-event-id": - lastEventId = value; - break; - case "authorization": - authorization = value; - break; - case "content-type": - contentType = value; - break; - case "content-length": - contentLength = to!size_t(value); - break; - case "x-forwarded-for": - remoteAddress = value; - break; - case "x-forwarded-host": - case "host": - host = value; - break; - case "accept-encoding": - if(value.indexOf("gzip") != -1) - acceptsGzip = true; - break; - case "user-agent": - userAgent = value; - break; - case "referer": - referrer = value; - break; - case "cookie": - cookie ~= value; - break; - default: - // ignore it + if (name == "accept") { + accept = value; } + else if (name == "origin") { + origin = value; + } + else if (name == "connection") { + if(value == "close" && closeConnection) + *closeConnection = true; + if(value.toLower().indexOf("keep-alive") != -1) + keepAliveRequested = true; + } + else if (name == "transfer-encoding") { + if(value == "chunked") + isChunked = true; + } + else if (name == "last-event-id") { + lastEventId = value; + } + else if (name == "authorization") { + authorization = value; + } + else if (name == "content-type") { + contentType = value; + } + else if (name == "content-length") { + contentLength = to!size_t(value); + } + else if (name == "x-forwarded-for") { + remoteAddress = value; + } + else if (name == "x-forwarded-host" || name == "host") { + host = value; + } + else if (name == "accept-encoding") { + if(value.indexOf("gzip") != -1) + acceptsGzip = true; + } + else if (name == "user-agent") { + userAgent = value; + } + else if (name == "referer") { + referrer = value; + } + else if (name == "cookie") { + cookie ~= value; + } + // else + // ignore it } } From 84df778f2571dc350b7985f9d08d4ad317a54d56 Mon Sep 17 00:00:00 2001 From: Leprecorn <35517584+Leprecorn@users.noreply.github.com> Date: Tue, 29 May 2018 02:46:44 +0100 Subject: [PATCH 2/2] Add binding for glSecondaryColor https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glSecondaryColor.xml --- simpledisplay.d | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/simpledisplay.d b/simpledisplay.d index e922bdc..0be9623 100644 --- a/simpledisplay.d +++ b/simpledisplay.d @@ -12597,6 +12597,11 @@ extern(System) nothrow @nogc { void glColor4f(float, float, float, float); void glTranslatef(float, float, float); void glScalef(float, float, float); + void glSecondaryColor3b(byte, byte, byte); + void glSecondaryColor3ub(ubyte, ubyte, ubyte); + void glSecondaryColor3i(int, int, int); + void glSecondaryColor3ui(uint, uint, uint); + void glSecondaryColor3f(float, float, float); void glDrawElements(int, int, int, void*);