Skip to content

Instantly share code, notes, and snippets.

View denisdemaisbr's full-sized avatar

DENIS DOS SANTOS SILVA denisdemaisbr

View GitHub Profile
@denisdemaisbr
denisdemaisbr / Android.mk
Created March 4, 2024 04:09 — forked from knighthedspi/Android.mk
Render to screen using FrameBuffer using OpenGL ES 2.0
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := FriengerScreenRecord
LOCAL_SRC_FILES := Log.cpp CustomFrameBuffer.cpp CustomFrameTexture.cpp FriengerScreenRecord.cpp
LOCAL_CFLAGS := -Werror -std=gnu++11
LOCAL_LDLIBS := -llog -lGLESv2
@denisdemaisbr
denisdemaisbr / minctest.js
Created February 14, 2024 11:50
duktape test unit
//
// MINCTEST - Minimal Duktape Test Library
// This is based on minctest.h (https://codeplea.com/minctest)
//
/*
feel to free to improve
you will need implement a module loading OR embed 'all-in-one'
checkout: https://wiki.duktape.org/howtomodules
@denisdemaisbr
denisdemaisbr / strdup.c
Created February 4, 2024 06:36
strdup with memory aligned
// based on original
// https://github.com/clibs/strdup/blob/master/strdup.
#define strdup_check 1
#define strdup_verbose 0
#define strdup_align(x) (((x)+15)&~15) // 3 (4 bytes), 7 (8 bytes), 15 (16 bytes)
static char* strdup_aligned(const char *str) {
int len;
@denisdemaisbr
denisdemaisbr / fsm.c
Created January 21, 2024 16:29 — forked from ankurs/fsm.c
FSM in C
/**
* @file fsm.c
* @brief an implementation for a FSM in C, this file contains
* implementation of definations.
* License GPLv3+
* @author Ankur Shrivastava
*/
#include "fsm.h"
#include<stdlib.h>
@denisdemaisbr
denisdemaisbr / base64_encode.c
Created January 8, 2024 22:44
base64 encode using openssl (c, c99, openssl, base64)
#include <stdlib.h>
#include <openssl/evp.h>
#include <openssl/rand.h>
char* base64_encode(const void *s, int length, int *ret_length) {
BIO *bio = NULL, *b64 = NULL;
BUF_MEM *bufferPtr = NULL;
char *encoded = NULL;
const unsigned char* str = (const unsigned char*) s;
@denisdemaisbr
denisdemaisbr / test.c
Created January 7, 2024 19:12
example with __COUNTER__ macro
/*
https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html
*/
#include <stdio.h>
int main(void) {
printf("%d ", __COUNTER__ );
printf("%d ", __COUNTER__ );
printf("%d ", __COUNTER__ );
@denisdemaisbr
denisdemaisbr / memory-align.c
Last active March 16, 2024 06:37
one simple way to align memory alloc'ed
/*
one simple way to align memory alloc'ed
based on sqlite3 macro
+7 = 8 (64-bit)
+3 = 4 (32-bit)
HINT: you can try ptrdiff_t too =)
*/
@denisdemaisbr
denisdemaisbr / str_replace.c
Created December 12, 2023 00:25
c function to replace char in string
static void str_replace(void *s, unsigned char target, unsigned char to) {
unsigned char* str = (unsigned char*) s;
while (*str) {
if (*str == target) {
*str = to;
}
str++;
}
}
@denisdemaisbr
denisdemaisbr / str_remove.c
Created December 12, 2023 00:25
c function to remove character in string
static void str_remove(void *s, unsigned char target) {
unsigned char* str = (unsigned char*) s;
int len = strlen(str);
int i, j = 0;
for (i = 0; i < len; i++) {
if (str[i] != target) {
str[j++] = str[i];
}
}
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#include <sys/resource.h>
double get_time()
{
struct timeval t;
struct timezone tzp;
gettimeofday(&t, &tzp);