]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - crypto-keygen-standalone.c
Add more debugging prints in Draw_CachePic, most of these are for edge cases.
[xonotic/darkplaces.git] / crypto-keygen-standalone.c
index 17b825d214854499d0f6f0e37c5e7e8f77d251ec..d9206915a775453043d36bc3817e9f0fccd362da 100644 (file)
@@ -97,7 +97,10 @@ void file2buf(const char *fn, char **data, size_t *datasize)
        *data = NULL;
        *datasize = 0;
        size_t n = 0, dn = 0;
-       f = fopen(fn, "rb");
+       if(!strncmp(fn, "/dev/fd/", 8))
+               f = fdopen(atoi(fn + 8), "rb");
+       else
+               f = fopen(fn, "rb");
        if(!f)
        {
                return;
@@ -108,6 +111,7 @@ void file2buf(const char *fn, char **data, size_t *datasize)
                if(!*data)
                {
                        *datasize = 0;
+                       fclose(f);
                        return;
                }
                dn = fread(*data + n, 1, *datasize - n, f);
@@ -122,7 +126,10 @@ void file2buf(const char *fn, char **data, size_t *datasize)
 int buf2file(const char *fn, const char *data, size_t n)
 {
        FILE *f;
-       f = fopen(fn, "wb");
+       if(!strncmp(fn, "/dev/fd/", 8))
+               f = fdopen(atoi(fn + 8), "wb");
+       else
+               f = fopen(fn, "wb");
        if(!f)
                return 0;
        n = fwrite(data, n, 1, f);
@@ -667,7 +674,6 @@ int main(int argc, char **argv)
                                CHECK(d0_blind_id_fingerprint64_public_id(ctx, fp64, &fp64size));
                                printf("%d\n", (int)status);
                                printf("%.*s\n", (int)fp64size, fp64);
-                               buf2file(outfile, databuf_out, databufsize_out);
 
                                if(outfile2)
                                {