Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Co-routine

Name: Anonymous 2012-01-23 17:40

Is this iterator implementation well-defined?


#include <stdio.h>
#include <stdlib.h>

typedef struct it {
    int *start;
    int len;
    struct it *next;
} iterator_t;

static iterator_t *head = NULL;

static iterator_t *iterator(int array[], int length)
{
    static iterator_t *ptr = NULL;

    if (head == NULL) {
        head = malloc(sizeof(iterator_t));
        ptr = head;
    } else {
        ptr->next = malloc(sizeof(iterator_t));
        ptr = ptr->next;
    }

    ptr->start = array;
    ptr->len = length;
    ptr->next = NULL;

    return ptr;
}

static int iterate(iterator_t *it)
{
    static iterator_t *current = NULL;
    static int state = 0, *ptr;

    if (it != NULL) {
        /* Initialize */
        current = it;
        ptr = it->start;
        state = 0;
    } else {
        /* Co-routine */
        switch (state) {
            case 0: while (ptr != (current->start + current->len)) {
                        state = 1;
                        return *ptr;
                       
                        case 1: ++ptr;
                    }
        }
    }

    return -1;
}

int main(void)
{
    iterator_t *it, *ptr;
    int n, numbers[] = { 4, 5, 6, 0, 1, 9, 0, 0, 8 };

    it = iterator(numbers, sizeof(numbers)/sizeof(int));

    iterate(it);
    while ((n = iterate(NULL)) != -1) {
        printf("%d\n", n);
    }

    it = head;
    while (it) {
        ptr = it->next;
        free(it);
        it = ptr;
    }
    return 0;
}

Name: Anonymous 2012-01-23 18:00

>>1
Why did you make it so it only works with one iterator at a time?

Name: Anonymous 2012-01-23 18:06

>>2
I wanted to try out a co-routine implementation. IDK how I would do that and in addition allow multiple iterators

Name: Anonymous 2012-01-23 18:08

>>3
You could use an extra parameter instead of a global variable. Compare strtok and strtok_r.

Name: Anonymous 2012-01-23 18:13

>>4
The global variable doesn't really matter for the implementation of the iterator itself.

Two sec, posing an updated version

Name: Anonymous 2012-01-23 18:17

>>4-5

#include <stdio.h>
#include <stdlib.h>

typedef struct it {
    int *start;
    int len;
    int (*next)();
} iterator_t;

static int iterator(iterator_t *it)
{
    static iterator_t *current;
    static int state = 0, *ptr;

    if (it != NULL) {
        /* Initialize */
        current = it;
        ptr = it->start;
        state = 0;
    } else {
        /* Co-routine */
        switch (state) {
            case 0: while (ptr != (current->start + current->len)) {
                        state = 1;
                        return *ptr;
                       
                        case 1: ++ptr;
                    }
                    state = 0;
        }
    }

    return -1;
}

static int f(void)
{
    return iterator(NULL);
}

static iterator_t create(int array[], int length)
{
    iterator_t it = {
        array,
        length,
        &f
    };
    return it;
}

int main(void)
{
    iterator_t it0, it1;
    int k, n, m, numbers[] = { 4, 5, 6, 0, 1, 9, 0, 0, 8 };
    m = sizeof(numbers) / sizeof(int);

    it0 = create(numbers, 3);
    it1 = create(numbers, m);

    // Set iterator
    iterator(&it0);
    printf("%d\n", it0.next());
    printf("%d\n", it0.next());

    for (iterator(&it1), n = 0, k = it1.next(); n < m; ++n, k = it1.next())
        printf("%d\n", k);

    return 0;
}

Name: Anonymous 2012-01-23 18:26

 猫マナー猫マナー猫マナー猫マナー猫マナー猫マナー
  猫マナー猫マナー猫マナー猫マナー猫マナー猫マナー
 猫マナー猫マナー猫マナー猫マナー猫マナー猫マナー

  ーナマ猫ーナマ猫ーナマ猫ーナマ猫ーナマ猫ーナマ猫
   ーナマ猫ーナマ猫ーナマ猫ーナマ猫ーナマ猫ーナマ猫
   ーナマ猫ーナマ猫ーナマ猫ーナマ猫ーナマ猫ーナマ猫

  猫マナー猫マナー猫マナー猫マナー猫マナー猫マナー
  猫マナー猫マナー猫マナー猫マナー猫マナー猫マナー
 猫マナー猫マナー猫マナー猫マナー猫マナー猫マナー

Name: YOUR_SUPER_NIGGER 2012-01-23 18:34

I think it's better do something like...

while(it != NULL) {
    next = it->next; /* Not ptr = it->next; */
    free(it);
    it = next; /* Not it= ptr; */
}

That way, you can like, keep the possible memory leaks on a short rope.

Name: Anonymous 2012-01-23 18:40

>>8
... but that's exactly the same, but using a different variable name.

Name: Anonymous 2012-01-23 18:43

>>8
Calling the variable next instead of ptr does not make any difference

Name: Anonymous 2012-01-23 18:44

>>6
Someone isn't a mental midget....

Name: Anonymous 2012-01-23 18:44

>>10
lol yhbt fgt

Name: YOUR_SUPER_NIGGER 2012-01-23 18:45

>>10
IT COULD ADD EXTRA OVERHEAD IN SOME EXTREME CASSES

Name: Anonymous 2012-01-23 18:46

>>12
No he hasn't. Now shut your hole and learn something from those of us who can actually code shit beyond 'hello world'.

Name: Anonymous 2012-01-23 18:47

>>11
Thanks. Another update, since adding a function pointer as a member to the struct is kind of silly considering virtual functions doesn't exist in C anyway.


#include <stdio.h>
#include <stdlib.h>

typedef struct it {
    int *start;
    int len;
} iterator_t;

static int iterator(iterator_t *it)
{
    static iterator_t *current;
    static int state = 0, *ptr;

    if (it != NULL) {
        /* Initialize */
        current = it;
        ptr = it->start;
        state = 0;
    } else {
        /* Co-routine */
        switch (state) {
            case 0: while (ptr != (current->start + current->len)) {
                        state = 1;
                        return *ptr;
                       
                        case 1: ++ptr;
                    }
                    state = 0;
        }
    }

    return -1;
}

static int next(void)
{
    return iterator(NULL);
}

static iterator_t create(int array[], int length)
{
    iterator_t it = {
        array,
        length,
        &next
    };
    return it;
}

int main(void)
{
    iterator_t it0, it1;
    int k, n, m, numbers[] = { 4, 5, 6, 0, 1, 9, 0, 0, 8 };
    m = sizeof(numbers) / sizeof(int);

    it0 = create(numbers, 3);
    it1 = create(numbers, m);

    // Set iterator
    iterator(&it0);
    printf("%d\n", next());
    printf("%d\n", next());

    for (iterator(&it1), n = 0, k = next(); n < m; ++n, k = next())
        printf("%d\n", k);

    return 0;
}

Name: Anonymous 2012-01-23 18:50

>>15
Oops, slight mistake in create there. Forgot to remove one line.

Name: Anonymous 2012-01-23 19:00

HURR DURR UNDEFINED HERP DERP sizeof IS IMPLICITLY CASTED TO int HERF DERF NERF

Name: Anonymous 2012-01-23 19:35

u jellin?


#include <stdlib.h>
#include <stdio.h>

struct iterator {
    size_t len;
    size_t off;
    int *objs;
};

struct iterator *iterator_create(void *o,size_t l)
{
    struct iterator *it = malloc(sizeof(*it));
    if(!it) exit(EXIT_FAILURE);
    it->len = l;
    it->off = 0;
    it->objs = o;
    return it;
}

void iterator_destroy(struct iterator *it)
{
    free(it);
}

int iterator_next(struct iterator *it)
{
    return it->objs[it->off++];
}

int iterator_hasnext(struct iterator *it)
{
    return it->off < it->len ? 1 : 0;
}


int main(int argc,char *argv[])
{
    int anus[] = { 0,1,2,3,4,5,6,7,8,9,10 };
    struct iterator *it = iterator_create(anus,11);
    int i;
   
    while(iterator_hasnext(it)){
        printf("%d\n",iterator_next(it));
    }
    return 0;
}

Name: Anonymous 2012-01-23 19:37

>>18'
>implying that's a coroutine


Nope.

Name: Anonymous 2012-01-23 19:37

>>18
Anyone can do that. That is not a coroutine design.

Name: Anonymous 2012-01-23 19:38

>>18
Memory leak, no call to free in that code.

Name: Anonymous 2012-01-23 19:39

>>18
Mental midget

Name: Anonymous 2012-01-23 19:42

>>19
>>20
>>21
>>22

                                               `osss/                                                                  
    `:oooooooo/-`                              dMMMMMs                                                                 
  -sNMMMMMMMMNMMNmhso+/-`                      +NMMMMh                                                                 
`yNMMMMMMMMMMMMMMMMMMMMMNmdo.```````````````````-dMMMh                                 `-:::::-.                       
-MMdNMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNMMMMNyy+//////:------------------:/symNNMMMMMNNd-                     
-MMdNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNMNMMMMMMMMMMMMMNh.                   
-MMMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMh`                  
-MMMMMMMMMMMMMMMMMMMMMMMMMMMyo/--::+ooyhyyooooooooosyyyyyyyyyymMMMMMMMMMNNNMMMMMMMMMNMMMMMMMMMMMMMMMs                  
`oNMMMMNMMMMMMMMMMMMMMMMMNs-`  `-//+:-.....-:-----::-..`.```.-::::::::::...-//sshmMMMMMMMMMMMMMMMMMMN-                 
  -hNMMMMMMMMMMMMMMMMMdhs-``.://-..:/:///:::..````..::/:::::::::::::::/::::/::+/..:sdNMMMMMMMMMMMMMMN:                 
   `-smMMMMMMMMMMMMMy:```.:/:---//:::/:://///////+/-`    `````````....-----.`````  ``-ohMMMMMMMMMMdo.                  
      .ohmMMMMMMMMd/``.::-../+:-///:..```       `/o-           -///::::....:+/:.       `/dMMNMNNh:`                    
        `.:+NMMNh+`  ./.`./+--+/-``               .s`          ``/:         `.-//       `-NN:--.`                      
          .hNh/.`     ``-+--+/.`` ...:::::::..`    o`           :+`            `o-       `NN:`                         
        `-yNh.          `` ..`.:ohdmmNMMNNdmdmhy+.`.            /:    `.......` .`       `sNh.`                        
     ``/ymms-.```       ``.`.omdhmMMMMMMMN+..:+ymdy:.          `---/sydmdddddds/.         .yNd+-`                      
    `/dNdhy//////--  `:ooo-`yNmhhmNNNNNNNNyyo/-`-+dNd.`     .-.`-ymNMMMMmddddNNNo`++-:----:-:sdmh:`                    
  `/hNhso--..:+++++//-..-/:`:oyy++:--/s+-:+ohmmhs+dNd.`    `sdmdNMMNdhyyyo+++++-.```.-...--+/--omm/`                   
`.sNd++/``.+hmmhhhhhdmhso/-`     `.:ommo`   `.:ohdy:.       `./yNd+-.`            `.....-////:/:/NN-                   
-hNy.s-``-dNy:.` .+:./shhmmhyooooydmdo-`        ``             /Mh`       `:.```:odmhdddms+.s.`o:dM:                   
yNy``y `-dNs`   `/Nd-.```-ohdyssss/-`                          /Nm:.``   `/mdhohNNs:--.-+yy`+- `odM:                   
dN:``y  sMy` ``.:mNmmdo+-/mmNmssso/.``     `:`.:+++/`          `/dmdy:`   `:/sssso..dy`` ```.s`:+dM:                   
dN+` y  sMs`+yhdmNd.-+ydmdhosdmNMMMmdhssssssh/dmdyys.            .-+NNds-`     `` `-Mm-`  `:+:`o/mN:                   
+Nd``o:`:NN::++//mN+` `.:+ymmddyyshhmNMMMMMMNsMh` /sssss/-`       `/mNmNy/-.:sydy``oMMm/``::../ohNy`                   
-dNs-.s.`omd.  ``oMN+-``   .sNmhmmmhyhhyydmNm+mmy.sdsoohho```.` `.smmsoh++dNNMNm+-oNNmMh`.:/::/yNh`                    
`.sNm:-+/-::`    :sNMNds/-``+Ny`..:+oydmdmdhs+/+o.`.`       :myoymmhsNMMMMMNmho+smmmNyNN:-.` .dNy.                     
  `ommo:-/:/`     `oNNdhmmdssNNy-` `` `../+dNNmddyy++:--..``.+sss/-dmmNNNmhsyhmmNN+/NNmM+`  `hNy`                      
   `.smNh+-`       `:dNs::ohmMMMNy++:.`   `mN+--/+sshdmmmddddhyyyyyyyhmddNmNdo:.oNh`yMMM+  `:Nm.                       
     `-smmo.        `-hNh:``/NMhmNMMNmds/:+NN.       ``-NN:-:+++sNmo++/---+Nd. `/Nd.+MMM+   +My`                       
       `-yNh.         `+mN+..mM-.:ohdNNMMMMMds//:.`````.NN``````.dM:````..-dNo:/mMNNMMMM+   +My`                       
         `hNy`         `-sNddNy.    `-+oomMNNNNMMNdhhhhhMMhhhhhhhNMdhhhhmNNNMNMMMMMMMMMM+   +My`                       
          -dNs`          `-yNmo-`       `sNs:/ohNNNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMN/   +My`                       
          `-dNy-`          `-sdmh+.`    :dN+    ..:/oyNNmNNMMMMMMMMMMMMMMMMMMMMMNmMNdyNd`   +My                        
            `+NNo-``          `/ymNy+.`-mN/`         -Mm`.-////+mMdyyyyhNNys+dNm:yNdoNN:    +My                        
             `:smNs.``:`` `:-.````/yNNddNh.``        -Mm`      :Nm-`  .hNy``sNm--ddsNN/`    +My                        
                `omNy/-/++-`-//+:.```:ohmNmdss/-`````+Nm`     `oNh`  `yNd.`/NNooshmmy:`    `+Ny                        
                 `sMMNds:`:+++-`./++-` ```:oohdNNNNdhdNdyooooooNMhoosdNNmhNNNMmhoo/.`       /Nm.                       
                `hMm+-odNNh/.`:++:-.-/++/-`   ````.::::+osooooossooooo:::::`````   --`  `   `mN+                       
              -hmMm-   `./hmNds-.`./+//-.-:///:.``     -::::::::::::::::.       `-o/`   s`  `+My                       
             -mMNMMdo/-`   `:odmNmy+/..:/+//:/:///+::/----------`````````  `-::++:`  ``-y`   +My                       
            /NMmNNmNNNNNh+.  ```-/shmNds/.```.-:://///+/:-------/::::::::::/--```  `:++:`    +My                       
          `sNMNmNMMMMNNmmNNh+.    ```:ohmNds/.`` ``````--:///::::::/:::::::::::::///-``     `hMd:`                     
         -mMdhNMNNNMMMMMMNNmNNy/:.     ``:ohmNho/.`          ``````````````````````       `.yNmmNms:`                  
        :mMh``-omMNmmNMMMMMMNmNNNNmdy+:`   ``:ohmmhyyhs+:.````                          `./dNs.`:smNm+`                
       .mMy`    `+dMNmNNMMMMMMMNNNmNNNNNdo/-`  `.:+sssydmNmdyy+/--``                ``-/ymmy:`    `/dMms.              
       yMm`       `-sNMMmNNNMMMMMMMMMNNmNNNNNmhso//////+ooyhhNNNNNmmhys+++++++++++sydmNNNho+////////+yNMm-             
      :NMNo          ./shNNNNNmNMNNNMMMMNMNNNmNNNNNNNNNNNNNmmNNNNNNNNNmmmmmNNNNNNmmNNNNNNNNNNNNNNNNNNNNdMN:            
     .mMNMN/            `./MMMMmmNNNmNNNNNMMMMMNNMMMMMMMMMMNNNNNmmNNNNmmdNmNNMMMMNNNNNNNMMMMMMMMMMMMMMNNdMN+           
     hMNdmNNy-            `:+yMMMd+yydmNNNNNNNNNNNNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNmmMN/          
    oMNmMMmNNNy:            `yMN:`   `..-+yhdmNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNmMMMMMMMNNNNmNNNNmMm`         
   /NMdMMMMNmmMNs.         `sMN:           ```.-:/+ossssssssssssssssssssssssssssssssssyNMNNNNNNNNNNNmdh+-.-NMs         
  .NMMmmMMMMMNmmMd/`      .hMMh-                                                       /smMMhsoooo/-.`     sMN-        
  sMNmMNmNMMMMMNmNNdyo+///yMNNNNh/.                                                      -yNNy-          -omMMd`       
 `mMy.yNNNmmNNNMMNmmNNNNNMMNmNNmNNmdyo/-.                                                  -yNNy.  `.-+ydNNNmNMo       
 `NMs `-ohdmNNNmNNNMMNNmNMmNMMMMNNmNNNNNmho//:.`                                             -dMmdhdmNNNNmNNMdMN+      
 `NMs     `.:ohmNNNmNNNmMmmNMMMMMMMMMNNNmmNNNNmdho/--.`                                       .hMMdNNNNNMMNNNNMNNo`    
 `NMs          ./+ymNNNMMNNNNmNMMMMMMMMMMMNNNNNNNNNNNmdyo+/::--............................:ohdmMMdMMMMNNNNNNh+/NMo    
 `NMs              .-:yMM+:smNNNNNNMMMMMMMMMMMMMMNNNNNNNNNNNNNmmmmmmmmmmmmmmmmmmmmmmmmmmmmmNNNNNmMNmNNmNNmy+-`  /NMo   
 .NMs                :NMy`  .:+ymNNNNNNNNMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMMmmMNNmdy:`       +NNo` 
 yMMh-`             `dMm`       .:/sdmNNNMNNmNMNMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMmMm-.`       `:+sNMMs 
 :mMMNdso+++++++++++sMMo``           .-/ooydmmNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNmNmmMd        `:hMNNNNMm`
  -mMMdNNNNNNNNNNNNNNMMNmdyo:.`             `--:/osyhhhdddddddddddddddddddddddddddddddddddddddmmmNMm-----+ohdNNmNNNmMm`
   -mMmNNNMMMMMMMMMMmmMNmmdNNmdhys/-..``                                                      `..hMMNNNNNNNNNNNMMMmNMo 
    -dmddmNNNNNNNNNNmhmmmmhhmmdmddmmmdhyo/-``                                                    ymdmmmmmmmmNNNNNddmy` 
     ````````````````````````````````````````                                                    ````````````````````  
                                                                                                                       
                      `......`               `.:/      .:/`    .:                        .::-`                         
                      .+Mm-:hNo              `:Md     `-NN`  `/s/                       .y/+Nd`                        
                       -Mm``oNs.:+-++ .///o:` `Md-+s/`  dN` `/+/s+`.:+::oo-.+s/  `.//o: `` :mh`                        
                       -Mm./+: .hMo::.mh` +Ms `Md-.oMh  dN` yM.`sN/`oMy.:Mm-.hM: oN-`sN/  +y:                          
                       -Mm      yM-  /My  .Mh `Mh  `Ny  mN` dM+://. +Mo `Nm  oM: dM/:+o-  +`                           
                      `+NN-`   .dN+. `hm-`om: `Md.`/o``-mN: :dh/-:`.sNy.:Nm- sN+`/my.`.` -Nh`                          
                      `....`   `...`   .::.   `--:-    ....   `..  `...`...` `..` `-::.   -.                           
                                                                                                                                        

Name: Anonymous 2012-01-23 19:43

>>18'
>try to make a point
>forgets that the whole point was to make a co-routine design
>forgot to call free

Name: Anonymous 2012-01-23 19:46

>>24
>>19
can't [multi]quote properly

Name: Anonymous 2012-01-23 19:48

>>18
Why are you storing off as well?

Why not simply do:

struct iterator *iterator_create(void *o,size_t l)
{
    struct iterator *it = malloc(sizeof(*it));
    if(!it) exit(EXIT_FAILURE);
    it->end = (o + l);
    it->objs = o;
    return it;
}

int iterator_next(struct iterator *it)
{
    int v = *it->objs;
    it->objs++;
    return v;
}

int iterator_hasnext(struct iterator *it)
{
    return it->objs == it->end;
}

Name: Anonymous 2012-01-23 19:49

>>25
of course I can properly
multiquote
"
>implying that's hard

Name: Anonymous 2012-01-23 19:54

>>18,23
You don't even know what a coroutine is, do you toilet scrubber?

Name: Anonymous 2012-01-23 19:55

>>26

it->end = (o + l);
...
return it->objs == it->end;


Try

it->end = (o + sizeof(int)*l);
...
return it->objs != it->end

Name: Anonymous 2012-01-23 19:56

>>29
Oh, I didn't see he passed it as a void pointer.

Name: Anonymous 2012-01-23 19:57

>>29
And the second error was just stupid of me.. I'm going to bed.

Name: Anonymous 2012-01-23 19:58

>>28
y r u so easy to troll kodak-kun?

                                                                                                                       
                                                                                                                       
                                   ````.................````                                                           
                         .+hmmmNNNNNNNNNNNNNNNNmmmmmmmmmmmmNNNNNmmddhyysoo+//:-.`                                      
                      `/hNNy+::::----...````.://:://////////::---://+oossyhdddmNNNmdhso/:-`                            
                     /mMd/`            .:/++/-``````````````..-::::::::---::::/so++osyhmNNms:`                         
                   -hMm/`          `://:.`.-:://////////////:-.`        ````...---..`.:/.:ohNNy/.                      
                  +NMs`        `-:/-`.://+/-............`  ````..----::::::::--.```   `/:  `.+hNNy:`                   
                `sMN/       `-::.`./+/-:oo++/:-.....---o+.             `.-::/:::-.`..`        `-sNNd/                  
               `yMN:      ./:```:+/:/:::.`             `++`            //-...```````./oo-        .sNM-                 
               yMN:       .. `/o:-so-`                   +-             :o`           `-y-         NM+                 
              oMN:           --`.o-    .-://+++/::-.`    :-             s`              `/         mMy                 
            -sMN:               `  ./sdmNMMMMMMMNmmmmho:`               s     ``......`            +MN+`               
          -yNMN/```           `  `omNdNMMMMMMMMN:.-:/sdNms-             :`-+shdmmmdmmmd+-           /mNh/`             
        :hNMNNmo+//:-.`   .oss/``hMMmymMMMMMMMMmss+-` `/NMN+       `.` .odNMMMMMMdhhmMMMm-`://:-...-..omNd+.           
      :hNNdm+-...-:///:--.`-:-/.`shdhyo/:::/o/+sydmNdyo+dMMy       smmdmMMMNmmdddhhyso+:-` ..-...`.-/+-./dMm/          
    `sNmo+o.  `/ydmmmddmmmho:.-`        `:ymm`   `.-/sdNmy/`       `:+hMMy/-.``                   :+::/+:.sMN`         
   `hMh-++   /dNd+-.``:--+hmNNdyo/----/sdNms-         `-.             `MM.         `     .+hhhhhhh+-./+ .s.MM.         
   sMh` o  `sMm/`    :Nd   `-/oyddmmmmmdo:`                           `MM/        -dy/-:smMdo///+hmm:`h  o:MM.         
  `MM-  o  :MM:      hMMy+-`      ``````          `   `..`            `hNNy/.     `sdmmNNNy``o:   .-` s  +-NM:         
  -MM`  s  :MN` `-/oyMNyhmmmho-.`         ```````.s.ohdmmd/             -+hNmy/.     `....` +Md      .o  s.MM:         
  .MM/  s` -MM:-dNmmmMN` `./smNmhs/.`    ./-----::-sMd/:::-..``            +MMMmo`          sMNo.  `+s. .hsMN`         
   hMm. :/  dMN...` .mMy`    `-+hNMNmho/-``        oMd- /dmmmmmh:         -dMNNNh/:/-`     `dMMMy  `..-/oNMM/          
   .dMm- o.`.sm:     sMMm+.`     hMhoydmNmdhs+:.```.hNN:-h+--:++:  `-```-sNNo`.`   `:/-  .omMMMMN``/+/.`oMN+           
    `yNN:`:++:.      .sNMMMds+-``hMd`  `.:/ohmNNmmdhso/.``         :NNhdNNs.         `.+hNMmMMMMM:     sMN:            
      :dNy+:.--`       -dMMddNMNhmMMd-`       `-:mMNNNNNmhys+/:-.```:++++.    ```.-/sdNNNMN-+MMMMo    oMN-             
       `+mMMy-          `hMN-`:oyNMMMMds/-``    .MM:`.-:/oshmNNMMNmdddhhhhhhhhdmmNMMNo:``dM+ sMMMs   `NM/              
         `oNMy-          `oNN/   oMMNNMMMMNmhs+-oMm           /Mm..-:/+/NMm///:.``/MM-   mMo.yMMMy   :MM.              
           .yMM/           :dMh- .MM-.:+ymMMMMMMMMd+/-`       /Mm       oMd       `mMm.-/MMMMMMMMy   +MM`              
             hMN.            +NMmdMy      ./ohdMMMMMMMMNmhyysyhMNyyyyyyyhMNyyyyhdmNMMMMMMMMMMMMMMo   +MN`              
             `dMm.            `oNMN-           dMyoyhNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM:   +MM`              
              `hMm:             `+dMms-       -NM:    `:+shdNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMN`   /MM.              
                +NMs.              -sNMd+.   :NMs           oMy:/osyhhhmMMMNmmmMMMNNhmMMdoNMm/NMo    -MM-              
                 `sNNo.              `/yNNdyoNMo            sMy        hMd:`  `mMm```dMy`+MMoNMd`    `MM:              
                   .sNNs- -o+.  .-//.   `:sdNMMy+:.         yMy       `NM.    :MN: `dMN.`:NMMMh.      mM+              
                     .sNNh/../++:``-+o+-`  ``:+ydNNNdhso+/::NMh`      +MM`  .+NMy:+yMMNNNNmyo-        yMy              
                       .ymNNho:.-++/:.`-::--`   ``-/+syhddmmNNNNmmmmmNNMMmmmNMMNmddhyso/-.`           oMd              
                         `./ymNmy/.`-/+/:-`.:+++:.      `````....-----------...`````       ./    .    :MN              
                             `-odNNy/-.``-//:--.-/++/:.       -----::::::::::--`         .:+.    +.   .MM`             
                                `-shmmNmho:.``.-::--:////:-.`````...--------.......-..---``    `:o`   `NM.             
                                   ``.-+ydNNds/-  ```.-:::::----.```````````......`````     .:+/-`     NM:             
                                         `.:sdNNds/.       ````.--::::::------------------/+:.`       :NM:             
                                             `./ydNmh+-`                 ``````...........`          +NMy`             
                                                 `-+ydmmysso+/:-.`                                 .oNNo`              
                                                     `./osyhdmmNmdhs+:-.`                      `-+hmms.                
                                                            ``.-/oyhmmmmdhs+/:-....```...--:+shmNmy/.                  
                                                                    `.-/+shddmmmdddddddddmmmdyo/-`                     
                                                                            `...---------..`                           
                                                                                                                       
                                              ````         ````                                     `..``              
                                              oddd-        yddd`                                 `+hdmmmds-            
            ```` `..`    `````..`   `...``    yMMM:`..`    dMMM`    `...``    ```` `..`   `..`   yMMMyomMMN-           
            ymmdsdNNmy.  dmmhhNNo :ydNNNmds.  yMMMhmNNmy-  dMMM`  /ymmmmmds-  ymmdsdNNmh+hmNNd+  :/+/`:mMMN-           
            hMMMd+oNMMm` NMMMdoo`+MMMy//mMMN- yMMMd+oNMMN. dMMM` sMMMo::dMMN- hMMMdohMMMNsoNMMM.    :dMMms.            
            hMMM-  yMMM- NMMM.   mMMN`  +MMMo yMMM:  sMMM/ dMMM` NMMMhhhdNNNo hMMM- -MMMh  yMMM-    dNNd.              
            hMMMy:/mMMN. NMMN    sMMM+.-hMMN: yMMMh::mMMN. dMMM` yMMM+--+o+/. hMMM. -MMMy  yMMM-   `yyyo               
            hMMMmNMMNd:  mNNm     +dNNNNNNh-  yNNNhNNMNd:  hNNN` `omNNmmNNd+  yNNN. -NNNy  yNNN-   `NNNd               
            hMMM..--.    ....       `-:--`    `... .-:.    ....     .-::-.    ....   ....  ....     ....               
            hMMN.                                                                                                      
            ````                                                                                                       
                                                                                                                                                        

Name: kodak_gallery_programmer !!kCq+A64Losi56ze 2012-01-23 20:01

>>32
Not possible since, like, uh...I just started posting on here a few minutes ago. Eerrr...this is because..uhh...like...I had to work at work today.

Name: Anonymous 2012-01-23 20:01

>>32
lol i trol u
Go back to the imageboards. No one believes your stupid back-pedaling.

Name: Anonymous 2012-01-23 20:03

>>34
I know this might be hard for some of you mental midgets to grasp, but you can sort of tell who is who based on their writing style.

Name: Anonymous 2012-01-23 20:03

>>33
How was work today kodak-kun?

>>34
You should know not to feed the troll, ``faggot''. Now take your own advice and go back to /g/.

Name: Anonymous 2012-01-23 20:04

>>36
They are one and the same

Name: Anonymous 2012-01-23 20:05

>>35
hows about you be original and stop using things kodak_gallery_programmer!!kCq+A64Losi56ze made up.

Name: Anonymous 2012-01-23 20:05

>>36
It bit. The work I had to do was long and tedious -(. On top of that, I think I destroyed a few brain cells when attempting to "think".

Name: Anonymous 2012-01-23 20:07

>>37
You really can't tell who is who based on their writing style can you? It's okay. The world still needs mental midgets.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List