C/C++ Programming Help Thread
This is a discussion on C/C++ Programming Help Thread within the PSP Development Forum forums, part of the PSP Development, Hacks, and Homebrew category; np This should be possible, shouldn't it? Errormessage: line 130: Constant expression expected. Line 130: artist_entry artist_list[num_artists]; I get that ...
-
10-16-2006, 11:36 AM #1351QJ Gamer Blue
- Registriert seit
- Sep 2006
- Ort
- Germany
- Beiträge
- 216
- Points
- 4.511
- Level
- 42
- Downloads
- 0
- Uploads
- 0
np
This should be possible, shouldn't it? Errormessage: line 130: Constant expression expected.
Line 130:
artist_entry artist_list[num_artists];
I get that error when compiling with visual c++. I have done the same with gcc without problems!
-
10-16-2006, 11:40 AM #1352QJ Gamer Silver

- Registriert seit
- Jun 2006
- Ort
- UK
- Beiträge
- 2.326
- Points
- 10.263
- Level
- 67
- Downloads
- 0
- Uploads
- 0
Thanks Raphael.
Zitat von Raphael
-
10-16-2006, 11:45 AM #1353QJ Gamer Silver

- Registriert seit
- Jan 2006
- Ort
- Germany
- Beiträge
- 926
- Points
- 14.087
- Level
- 77
- Downloads
- 0
- Uploads
- 0
Is num_artists a define or a variable? The latter won't work. If the size is not known at compile time, you need to dynamically malloc an array.
Zitat von Lukeson
Raphs board rules #31: Excessive use of punctuation is either a sign of a lesser ego or a small mind. Avoid it if you don't want to look like a total moron.
Raphs board rules #17: When you need to ask whether you are capable of doing something, you are not.
Raphs board rules #2: Exploits aren't found by changing version numbers, blindly merging data into a file or turning your PSP upside down.
Raphs board rules #1: If you have no clue how exploits work, don't come up with ideas about them.
-
10-16-2006, 12:03 PM #1354QJ Gamer Blue
- Registriert seit
- Sep 2006
- Ort
- Germany
- Beiträge
- 216
- Points
- 4.511
- Level
- 42
- Downloads
- 0
- Uploads
- 0
That's wierd; Using gcc this alsways worked. However I got more difficult errors:
line 158: '=': 'void *' cennot be converted in 'char **'
Code:typedef struct { char * name; int num_albums; char ** albums; } artist_entry; artist_entry * artist_list; artist_list = (artist_entry *)malloc(num_artists*sizeof(artist_entry)); for(i=0; i<num_artists; i++) { [...] line 158: artist_list[i].albums = malloc( num_albums*sizeof(char*) ); [...] }
-
10-16-2006, 12:05 PM #1355AKA Homer

- Registriert seit
- Jan 2006
- Ort
- Sweden
- Beiträge
- 1.779
- Points
- 12.596
- Level
- 73
- Downloads
- 0
- Uploads
- 0
Pretty sure you'd have to write it like this:
Code:artist_list[i].albums = (char **)malloc( num_albums*sizeof(char**) );
-
10-16-2006, 12:14 PM #1356QJ Gamer Silver

- Registriert seit
- Jan 2006
- Ort
- Germany
- Beiträge
- 926
- Points
- 14.087
- Level
- 77
- Downloads
- 0
- Uploads
- 0
Well, it should be
Zitat von homer
but that's the same since sizeof(char*) = sizeof(char**) ;pCode:artist_list[i].albums = (char **)malloc( num_albums*sizeof(char*) );
Raphs board rules #31: Excessive use of punctuation is either a sign of a lesser ego or a small mind. Avoid it if you don't want to look like a total moron.
Raphs board rules #17: When you need to ask whether you are capable of doing something, you are not.
Raphs board rules #2: Exploits aren't found by changing version numbers, blindly merging data into a file or turning your PSP upside down.
Raphs board rules #1: If you have no clue how exploits work, don't come up with ideas about them.
-
10-16-2006, 01:31 PM #1357QJ Gamer Blue
- Registriert seit
- Sep 2006
- Ort
- Germany
- Beiträge
- 216
- Points
- 4.511
- Level
- 42
- Downloads
- 0
- Uploads
- 0
Ok, thanks, compiling works now, but I get wierd errors; I read a string from a file and send it to the PSP where I then decode it. Now that I found out that you can send structs via TCP I want to do the decoding-work on the server. I use exactly the same code, but it just doesn't work on the server!
Server code:
Output is:Code:pFile = fopen ( "artists.txt" , "rb" ); fseek (pFile , 0 , SEEK_END); lSize = ftell (pFile); rewind (pFile); buffer = (char*) malloc (lSize); fread (buffer,1,lSize,pFile); fclose (pFile); memcpy(num_artists_c, &buffer, 5); num_artists_c[5]='\0'; offset = 5; printf("%s\n", num_artists_c); printf("num artists: %d\n", atoi(num_artists_c)); num_artists = atoi(num_artists_c); artist_entry * artist_list; artist_list = (artist_entry *)malloc(num_artists*sizeof(artist_entry));
-= Double Post =-êO1
num artists: 0
I fixed it using strncopy (which sucks... but works! :)). However the serverprogram crashes with an adress-error:
Everything works when I have these lines commented.Code:int i,j; for(i=0; i<num_artists; i++) { // get artist- and album-data, works artist_list[i].num_albums = num_albums; artist_list[i].name = (char*)malloc(artist_name_lenght+1); strcpy(artist_list[i].name, artist_name); artist_list[i].name[artist_name_lenght]='\0'; artist_list[i].albums = (char **)malloc( num_albums*sizeof(char**) ); for(j=1;j<=num_albums;j++) { // get album-name, works artist_list[i].albums[j] = (char*)malloc(album_name_length+1); strcpy(artist_list[i].albums[j], album_name); artist_list[i].albums[j][album_name_length]='\0'; } }Geändert von Lukeson (10-16-2006 um 01:31 PM Uhr) Grund: Automerged Doublepost
-
10-16-2006, 01:38 PM #1358QJ Gamer Silver

- Registriert seit
- Jan 2006
- Ort
- Germany
- Beiträge
- 926
- Points
- 14.087
- Level
- 77
- Downloads
- 0
- Uploads
- 0
for(j=1;j<=num_albums;j++ ) counts from 1 to num_albums, but the albums array goes from 0 to num_albums-1I fixed it using strncopy (which sucks... but works! :)). However the serverprogram crashes with an adress-error:
Everything works when I have these lines commented.Code:int i,j; for(i=0; i<num_artists; i++) { // get artist- and album-data, works artist_list[i].num_albums = num_albums; artist_list[i].name = (char*)malloc(artist_name_lenght+1); strcpy(artist_list[i].name, artist_name); artist_list[i].name[artist_name_lenght]='\0'; artist_list[i].albums = (char **)malloc( num_albums*sizeof(char**) ); for(j=1;j<=num_albums;j++) { // get album-name, works artist_list[i].albums[j] = (char*)malloc(album_name_length+1); strcpy(artist_list[i].albums[j], album_name); artist_list[i].albums[j][album_name_length]='\0'; } }Raphs board rules #31: Excessive use of punctuation is either a sign of a lesser ego or a small mind. Avoid it if you don't want to look like a total moron.
Raphs board rules #17: When you need to ask whether you are capable of doing something, you are not.
Raphs board rules #2: Exploits aren't found by changing version numbers, blindly merging data into a file or turning your PSP upside down.
Raphs board rules #1: If you have no clue how exploits work, don't come up with ideas about them.
-
10-16-2006, 02:29 PM #1359words are stones in my <3

- Registriert seit
- Jul 2005
- Ort
- Spokane
- Beiträge
- 5.008
- Points
- 35.274
- Level
- 100
- My Mood
-
- Downloads
- 1
- Uploads
- 0
I keep getting mixed answers on this, but you can assign multiple variables to one value with use of multiple = signs...
That returns each var as '123'. Why is it some say it will only set var1 to 123?Code:int var1, var2, var3; var1=var2=var3=123; printf("%i%i%i",var1,var2,var3
Just thought Id ask why some may get confused, is it differ in C++ or are the people just... out of it.
...at what speed must I live.. to be able to see you again?...
Projects
You can support my Open World 3D RPG for PSP by voting for it here
-
10-16-2006, 02:33 PM #1360AKA Homer

- Registriert seit
- Jan 2006
- Ort
- Sweden
- Beiträge
- 1.779
- Points
- 12.596
- Level
- 73
- Downloads
- 0
- Uploads
- 0
That will set var3 to 123, var2 to var3(123) and var1 to var2(123).
Nothing strange about that...
-
10-16-2006, 02:46 PM #1361words are stones in my <3

- Registriert seit
- Jul 2005
- Ort
- Spokane
- Beiträge
- 5.008
- Points
- 35.274
- Level
- 100
- My Mood
-
- Downloads
- 1
- Uploads
- 0
I already know that ;) Im saying, Zetta thought other wise... Not to point fingers I mean, im just saying, does C++ not allow this or what? Im just curious.

...at what speed must I live.. to be able to see you again?...
Projects
You can support my Open World 3D RPG for PSP by voting for it here
-
10-16-2006, 03:21 PM #1362QJ Gamer Silver

- Registriert seit
- Jan 2006
- Ort
- Germany
- Beiträge
- 926
- Points
- 14.087
- Level
- 77
- Downloads
- 0
- Uploads
- 0
It does. So what's the problem if some don't know this? Some at some point don't know how to avoid a loop being infinitely allocating memory, but they will learn. It would be different if there were a huge group of people claiming that & is not an operator, but a conjunctor and therefore insisting that C and C++ have bugs.
Also giving names with that is hugely childish (even when saying your not wanting to point fingers... sarcasm is no protection). You better edit your post.Raphs board rules #31: Excessive use of punctuation is either a sign of a lesser ego or a small mind. Avoid it if you don't want to look like a total moron.
Raphs board rules #17: When you need to ask whether you are capable of doing something, you are not.
Raphs board rules #2: Exploits aren't found by changing version numbers, blindly merging data into a file or turning your PSP upside down.
Raphs board rules #1: If you have no clue how exploits work, don't come up with ideas about them.
-
10-16-2006, 03:29 PM #1363words are stones in my <3

- Registriert seit
- Jul 2005
- Ort
- Spokane
- Beiträge
- 5.008
- Points
- 35.274
- Level
- 100
- My Mood
-
- Downloads
- 1
- Uploads
- 0
Ya, a simple yes or no answer was all I needed Raphael. Excuse me for wanting to clairfy an answer to a question and getting bashed for it. Sometimes I think you act childish Raphael... You think I'm annoying so you find any little hole in a statement and exploit it... I highly doubt ZettBlade cares that I used his name as we had a simple 5 word discussion on it last night, and I just wanted to know from a reliable source.

...at what speed must I live.. to be able to see you again?...
Projects
You can support my Open World 3D RPG for PSP by voting for it here
-
10-16-2006, 03:36 PM #1364QJ Gamer Silver

- Registriert seit
- Jan 2006
- Ort
- Germany
- Beiträge
- 926
- Points
- 14.087
- Level
- 77
- Downloads
- 0
- Uploads
- 0
It was no bash, it was a statement that I find it inappropriate to talk names with abviously wrong assumptions to ridicule those persons, although the wrong assumption is pretty meaningless.
As I said, I just suggest you edit your post to comment out the name. It has nothing to do with the original question, which was already answered anyway.
EDIT-PS: And yes, I may sometimes act childish in some way too, I admit. That's most likely pretty much human nature to do every then and when, but I try not to ridicule people without a reason (I hope everyone sees enough reason for my signature though :P)- and therefore I didn't say a name with my allusion, because the person in charge should know he is being talked about.Raphs board rules #31: Excessive use of punctuation is either a sign of a lesser ego or a small mind. Avoid it if you don't want to look like a total moron.
Raphs board rules #17: When you need to ask whether you are capable of doing something, you are not.
Raphs board rules #2: Exploits aren't found by changing version numbers, blindly merging data into a file or turning your PSP upside down.
Raphs board rules #1: If you have no clue how exploits work, don't come up with ideas about them.
-
10-16-2006, 04:10 PM #1365I'm Baaaack!

- Registriert seit
- May 2006
- Ort
- Nowhere
- Beiträge
- 2.186
- Points
- 17.067
- Level
- 83
- Downloads
- 0
- Uploads
- 0
Is there a 'dofile' sort of command in C? Like if I had a .txt file with this:
How would I call these variables?Code:variable1 = 7 variable2 = 4 variable3 = 9

-
10-16-2006, 04:24 PM #1366Developer

- Registriert seit
- Mar 2006
- Beiträge
- 1.026
- Points
- 7.577
- Level
- 58
- Downloads
- 0
- Uploads
- 0
You'd have to parse the files and set the variables yourself.
I believe Dark_Alex's custom firmware POC had some code in it to parse a config file like this. Check it out.
Check out my homebrew & C tutorials at http://insomniac.0x89.org/
Coder formerly known as Insomniac197
tshirtz: what is irshell ??
Atarian_: it's where people who work for the IRS go when they die
-
10-16-2006, 05:58 PM #1367QJ Gamer Platinum
- Registriert seit
- Dec 2005
- Ort
- h0000000rj
- Beiträge
- 12.867
- Points
- 57.528
- Level
- 100
- Downloads
- 0
- Uploads
- 0
Err?
Zitat von homer
Wouldn'tresult in z==3, y==1, x==1? IIRC, 'var=value' resolves to '1', not 'value'. Or... am I in desperate need of a C refresher here?Code:int x,y,z; x=y=z=3
[I fail @ life]
-
10-17-2006, 03:59 AM #1368Developer

- Registriert seit
- Oct 2005
- Beiträge
- 408
- Points
- 7.058
- Level
- 55
- Downloads
- 0
- Uploads
- 0
x, y, and z will all equal 3.
Zitat von FreePlay
I'm not sure I've ever seen that in Kernighan and Ritchie, but it does work that way.
Edit: Try resolving 'x=0' and see if you get a '1' out of that. ;)
-
10-17-2006, 05:49 AM #1369QJ Gamer Blue
- Registriert seit
- Sep 2006
- Ort
- Germany
- Beiträge
- 216
- Points
- 4.511
- Level
- 42
- Downloads
- 0
- Uploads
- 0
That was it! Thank you!
Zitat von Raphael
-
10-17-2006, 06:12 AM #1370QJ Gamer Silver

- Registriert seit
- Jan 2006
- Ort
- Germany
- Beiträge
- 926
- Points
- 14.087
- Level
- 77
- Downloads
- 0
- Uploads
- 0
Refresh I would say ;) == is the comparison operator resolving to 1 if var is equal to value and zero else. x=y=z=1 is best read from right to left, ie z gets set to 1, then y gets set to z (=1) and x gets set to y (=z=1).
Zitat von FreePlay
Raphs board rules #31: Excessive use of punctuation is either a sign of a lesser ego or a small mind. Avoid it if you don't want to look like a total moron.
Raphs board rules #17: When you need to ask whether you are capable of doing something, you are not.
Raphs board rules #2: Exploits aren't found by changing version numbers, blindly merging data into a file or turning your PSP upside down.
Raphs board rules #1: If you have no clue how exploits work, don't come up with ideas about them.
-
10-17-2006, 06:30 AM #1371QJ Gamer Blue
- Registriert seit
- Sep 2006
- Ort
- Germany
- Beiträge
- 216
- Points
- 4.511
- Level
- 42
- Downloads
- 0
- Uploads
- 0
As for the send-struct-via-tcp-socket I have a whole lotta questions:
1.) How do I send a struct via a socket?
?Code:send(sock, (char)myStruct, sizeof(myStruct), 0);
2.) Can I also send an array of myStructs?
3.) If so, can I send structs that contain strings (char-arrays) of variable lenght? Like
4.) If all that sending-jazz really works; How do I convert the sent string back to a struct-array?Code:typedef struct { char * name; int num_albums; char ** albums; } artist_entry; artist_entry * artist_list; artist_list = (artist_entry *)malloc(num_artists*sizeof(artist_entry)); for(i=0; i<num_artists; i++) { [...] artist_list[ i ].name = (char*)malloc(artist_name_lenght); [...] } send(???);
5.) What was the point of the universe, again?
Thank you
Luke
-
10-17-2006, 07:20 AM #1372QJ Gamer Silver

- Registriert seit
- Jan 2006
- Ort
- Germany
- Beiträge
- 926
- Points
- 14.087
- Level
- 77
- Downloads
- 0
- Uploads
- 0
Zitat von Lukeson
more likely. Typecasting a struct into a char is a bad idea generally. I'm not sure about the second parameter of the send command, but if it expects a pointer, you'd need to use &myStruct.Code:send(sock, myStruct, sizeof(myStruct), 0);
Yes, as long as the array is one single allocation (as in objection to an array of pointers to structs).2.) Can I also send an array of myStructs?
You can, but you will not submit the contents of the array, but only the pointer which in turn is useless on the client. So actually no, you cant. You need to make your structs non dynamic, without pointers for this to work as you want.3.) If so, can I send structs that contain strings (char-arrays) of variable lenght? Like
Code:typedef struct { char * name; int num_albums; char ** albums; } artist_entry; artist_entry * artist_list; artist_list = (artist_entry *)malloc(num_artists*sizeof(artist_entry)); for(i=0; i<num_artists; i++) { [...] artist_list[ i ].name = (char*)malloc(artist_name_lenght); [...] } send(???);
As said in the prior post, as long as the above requirements fullfill (well, even if they don't fullfill, it would work the same way, but when you'd try to use the struct on the client, you would get a crash).4.) If all that sending-jazz really works; How do I convert the sent string back to a struct-array?
425.) What was the point of the universe, again?
No Problem :PThank you
LukeRaphs board rules #31: Excessive use of punctuation is either a sign of a lesser ego or a small mind. Avoid it if you don't want to look like a total moron.
Raphs board rules #17: When you need to ask whether you are capable of doing something, you are not.
Raphs board rules #2: Exploits aren't found by changing version numbers, blindly merging data into a file or turning your PSP upside down.
Raphs board rules #1: If you have no clue how exploits work, don't come up with ideas about them.
-
10-17-2006, 07:20 AM #1373QJ Gamer Platinum
- Registriert seit
- Dec 2005
- Ort
- h0000000rj
- Beiträge
- 12.867
- Points
- 57.528
- Level
- 100
- Downloads
- 0
- Uploads
- 0
Buh. I'm going insane. Time to re-teach myself C. Sigh.
[I fail @ life]
-
10-17-2006, 07:56 AM #1374QJ Gamer Blue
- Registriert seit
- Sep 2006
- Ort
- Germany
- Beiträge
- 216
- Points
- 4.511
- Level
- 42
- Downloads
- 0
- Uploads
- 0
Yes it is (using malloc).
Zitat von Raphael
I was afraid that was the case. Isn't there a bad 'hacking'-way to actually copy the strings to where they are needed? Aren't there functions that allocate the memory where it's needed, to create strings in the place?
Zitat von Raphael
I can't even use char name[length_of_the_longes_arti stname] in windows (can I?) so I'll probalby have cut some names. That sucks big time.
oh, I forgot about that. Thanks for enlighting me
Zitat von Raphael
-= Double Post =-
That's not neccissarily the worst thing to do, do what makes you happy...
Zitat von FreePlay
-= Double Post =-
I think I'll go with my "send and parse a formatted string"-solution. Even though the memory allocation takes an ugly second.
Zitat von Raphael
Geändert von Lukeson (10-17-2006 um 07:56 AM Uhr) Grund: Automerged Doublepost
-
10-17-2006, 08:19 AM #1375QJ Gamer Silver

- Registriert seit
- Jan 2006
- Ort
- Germany
- Beiträge
- 926
- Points
- 14.087
- Level
- 77
- Downloads
- 0
- Uploads
- 0
Only possibility would be to make your name and albums list a fixed array of maximum size (depending on how many artists, albums per artist max you want to support) and then transfer that. It will have a big overhead though (memory and therefore transfer size), especially when a lot of artists only have 1 or 2 albums actually so the rest of the array(s) is filled with zeros.
Zitat von Lukeson
In your case that's prolly the best way to go.I think I'll go with my "send and parse a formatted string"-solution. Even though the memory allocation takes an ugly second.Raphs board rules #31: Excessive use of punctuation is either a sign of a lesser ego or a small mind. Avoid it if you don't want to look like a total moron.
Raphs board rules #17: When you need to ask whether you are capable of doing something, you are not.
Raphs board rules #2: Exploits aren't found by changing version numbers, blindly merging data into a file or turning your PSP upside down.
Raphs board rules #1: If you have no clue how exploits work, don't come up with ideas about them.
-
10-17-2006, 12:29 PM #1376QJ Gamer Blue
- Registriert seit
- Sep 2006
- Ort
- Germany
- Beiträge
- 216
- Points
- 4.511
- Level
- 42
- Downloads
- 0
- Uploads
- 0
Ok, does anyone have an idea why this only goes till artist 516 of 517 and, only at the 516th artist work only 4 of 5 albums?
----------------------------------------= Double Post =----------------------------------------Code:memcpy(num_artists, &artist_data, 5); num_artists[5]='\0'; offset = 5; printf("num artists: %d\n", atoi(num_artists)); // num artists: 517 int i,j; for(i=1; i<=atoi(num_artists); i++) { memcpy(artist_name_lenght_c, &artist_data[offset], 3); artist_name_lenght_c[3]='\0'; artist_name_lenght = atoi(artist_name_lenght_c); offset += 3; artist_name = (char *)realloc(artist_name, artist_name_lenght+1); memcpy(artist_name, &artist_data[offset], artist_name_lenght); artist_name[artist_name_lenght]='\0'; offset += artist_name_lenght; memcpy(num_albums_c, &artist_data[offset], 4); num_albums_c[4]='\0'; num_albums = atoi(num_albums_c); offset += 4; printf("artist #%d: %s (%d), %d albums:\n", i, artist_name, artist_name_lenght, num_albums); if(num_albums==0) num_albums=1; for(j=1;j<=num_albums;j++) { memcpy(album_name_length_c, &artist_data[offset], 3); album_name_length_c[3]='\0'; album_name_length = atoi(album_name_length_c); offset += 3; album_name = (char *)realloc(album_name, album_name_length+1); memcpy(album_name, &artist_data[offset], album_name_length); album_name[album_name_length]='\0'; offset += album_name_length; printf(" %s (%d)\n", album_name, album_name_length); } }
I'm having more troubles:
Errormessage: line 104: pspwamp_commands.c:104: error: invalid use of undefined type 'struct artist_entry'
Spoiler for Whole error-list:
Code:
pspwamp_datatypes.c
main.cCode:[...] typedef struct { char * name; int num_albums; char ** albums; } artist_entry; [...]
pspwamp_commands.cCode:[...] artist_entry* artist_list; artist_list = (artist_entry *)malloc(sizeof(artist_entry)); get_artists_from_server(sock, artist_list); [...]
Does anyone have an idea?Code:int get_artists_from_server(int socket, struct artist_entry * artist_list) { [...] artist_list = (artist_entry *)realloc(artist_list, atoi(num_artists)*sizeof(artist_entry)); [...] int i,j; for(i=0; i<atoi(num_artists); i++) { [...] artist_list[i].name = (char*)malloc(artist_name_lenght+1); //l.104 [...] } }Geändert von Lukeson (10-17-2006 um 12:30 PM Uhr) Grund: Automerged Doublepost
-
10-17-2006, 12:43 PM #1377QJ Gamer Silver

- Registriert seit
- Jun 2006
- Ort
- UK
- Beiträge
- 2.326
- Points
- 10.263
- Level
- 67
- Downloads
- 0
- Uploads
- 0
Try from
toCode:typedef struct { char * name; int num_albums; char ** albums; } artist_entry;
http://www.netalive.org/codersguild/posts/1750.shtmlCode:typedef struct artist_entry_struct { char * name; int num_albums; char ** albums; } artist_entry;
-
10-17-2006, 12:57 PM #1378QJ Gamer Blue
- Registriert seit
- Sep 2006
- Ort
- Germany
- Beiträge
- 216
- Points
- 4.511
- Level
- 42
- Downloads
- 0
- Uploads
- 0
Hm, doesn't work, I get the same errors. Why are there actually 2 names (artist_entry_struct and artist_entry)? That kinda confuses me...
Zitat von head_54us
-
10-17-2006, 01:05 PM #1379QJ Gamer Silver

- Registriert seit
- Jun 2006
- Ort
- UK
- Beiträge
- 2.326
- Points
- 10.263
- Level
- 67
- Downloads
- 0
- Uploads
- 0
Which was why I left a link ;).. You have the error because the datatype artist_entry is not defined in pspwamp_commands.c. You have defined it in pspwamp_datatypes.c but pspwamp_commands.c knows nothing about this file.
Zitat von Lukeson
Put the artist_entry defintion in a header file with header guards and include it where you need to use that datatype.
-
10-17-2006, 01:12 PM #1380QJ Gamer Blue
- Registriert seit
- Sep 2006
- Ort
- Germany
- Beiträge
- 216
- Points
- 4.511
- Level
- 42
- Downloads
- 0
- Uploads
- 0
Did I write pspwamp_datatypes.c up there? It's pspwamp_datatypes.h! The whole code is
and it's included in main.c and in pspwamp_commands.cCode:#ifndef PSPWAMP_DATATYPES #define PSPWAMP_DATATYPES typedef struct artist_entry_struct { char * name; int num_albums; char ** albums; } artist_entry; #endif


LinkBack URL
About LinkBacks
Mit Zitat antworten

Hello everyone I am new here and I am glad to be part of this amazing community and I think there...
New to forum