Skip to content

Instantly share code, notes, and snippets.

@khajavi
khajavi / Makefile
Last active December 17, 2015 23:29
Example of parsing xml by evaluating xpath expression and libxml2
CC = gcc
CLIBS = `pkg-config libxml-2.0 --cflags --libs`
xpath: xpath_example.c
$(CC) xpath_example.c -o xpath_example.bin $(CLIBS)
clean:
rm -f *.o *.bin
@khajavi
khajavi / Makefile
Created June 1, 2013 09:49
Example of parsing xml by libxml2
CC = gcc
CLIBS = `pkg-config libxml-2.0 --cflags --libs`
parse_xml: parse_xml.c
$(CC) -g -O0 parse_xml.c -o parse_xml.bin $(CLIBS)
clean:
rm -f *.o *.bin
@khajavi
khajavi / Makefile
Created June 1, 2013 10:57
Example of adding new keyword tag to specific xml node by libxml2
CC = gcc
CLIBS = `pkg-config libxml-2.0 --cflags --libs`
add_keyword: add_keyword_example.c
$(CC) add_keyword_example.c -o add_keyword_example.bin $(CLIBS)
clean:
rm -f *.o *.bin
@khajavi
khajavi / Makefile
Created June 1, 2013 11:08
Example of adding new attribute to xml nodes by using libxml2 library.
CC = gcc
CLIBS = `pkg-config libxml-2.0 --cflags --libs`
add_attr: add_attribute_example.c
$(CC) add_attribute_example.c -o add_attribute_example.bin $(CLIBS)
clean:
rm -f *.o *.bin
@khajavi
khajavi / Makefile
Created June 1, 2013 11:21
Example of getting attribute value of xml node by using libxml2 library.
CC = gcc
CLIBS = `pkg-config libxml-2.0 --cflags --libs`
retrieve_attribute_value: retrieve_attribute_value_example.c
$(CC) retrieve_attribute_value_example.c -o retrieve_attribute_value_example.bin $(CLIBS)
clean:
rm -f *.o *.bin
@khajavi
khajavi / Makefile
Created June 1, 2013 13:30
Example of creating new GObject class in Vala
#prototype: Prototype.vala main.vala
# valac -C Prototype.vala main.vala
main: main.c Prototype.c
gcc main.c Prototype.c -o main.bin `pkg-config glib-2.0 gtk+-2.0 --cflags --libs`
@khajavi
khajavi / list_contents.c
Created June 16, 2013 13:13
Example of reading elements of archive file by using libarchive library.
#include <archive.h>
#include <archive_entry.h>
int main() {
struct archive* a;
struct archive_entry* entry;
int r;
a = archive_read_new();
archive_read_support_filter_all( a );
@khajavi
khajavi / env.c
Created September 7, 2013 12:51
get envrionment variable in c
#include <stdio.h>
extern char **environ;
void main()
{
for (char **env = environ; *env; ++env)
printf("%s\n", *env);
}
@khajavi
khajavi / env2.c
Created September 7, 2013 12:52
get environment var in c
#include <stdlib.h>
#include <stdio.h>
int main( int argc, char **argv, char **envp ) {
char **env;
for( env = envp; *env; env++ )
printf( "%s\n", *env );
@khajavi
khajavi / getenv.c
Created September 7, 2013 13:04
getenv example.
#include <stdlib.h> //getenv, atoi
#include <stdio.h> //printf
int main() {
char* reps_text = getenv("reps");
int reps = reps_text ? atoi( reps_text ) : 10;
char* msg = getenv( "msg" );
if (!msg) msg = "Hello.";