• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 23:05
CEST 05:05
KST 12:05
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
[ASL22] Ro16 Preview: Rough Waters10[ASL22] Ro24 Preview: Siren's Call8[ASL22] Ro24 Preview: Summer's End9Serral wins HomeStory Cup 2915Serral wins Maestros of the Game 244
Community News
StarCraft open world shooter announced at BlizzCon54Weekly Cups (Aug 30-Sep 7): herO thrives amid growing schism10Official StarCraft website teases new content ahead of BlizzCon?159Stellar Fest TWO the Moon (Dec 16-20)9Weekly Cups (August 24-30): Patches' balance mod takes over3
StarCraft 2
General
StarCraft open world shooter announced at BlizzCon How do you feel about the StarCraft shooter announcement at BlizzCon 2026? Balance hotfix patch 5.0.16b (July 16) Team Liquid Map Contest #22: Results and Winners Weekly Cups (Aug 30-Sep 7): herO thrives amid growing schism
Tourneys
RSL goes to London! 2026 Offline Finals Nov 21-22 KSL Week #92 IntoTheTV X SOOP SC2 League : Weekly & Monthly 2026 GSTL Announcement Sparkling Tuna Cup - Weekly Open Tournament
Strategy
[G] Having the right mentality to improve
Custom Maps
Nexus Wars 2021 GUIDE [M] (2) Industrial Park
External Content
Mutation # 542 The Ascended Mutation # 541 Binary Choice The PondCast: SC2 News & Results Mutation # 540 Dodge This
Brood War
General
Official StarCraft website teases new content ahead of BlizzCon? BGH Auto Balance -> http://bghmmr.eu/ Broodwar Prediction Market Practice Partners (Official) [D] Brainstorming a balance patch for Brood war
Tourneys
[ASL22] Ro16 Group A [ASL22] Ro16 Group B Escore Tournament - Season 3 Small VOD Thread 2.0
Strategy
Replay Review Process - What do you do? Simple Questions, Simple Answers Odyssey Mineral Stack Saturation Game Theory for Starcraft
Other Games
General Games
EVE Corporation Diablo IV Nintendo Switch Thread [Maplestory Hardcore] Let's Play~!! General RTS Discussion Thread
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
[TL LoL EUW IHs] Teemo shall perish TSM pausing esports and CLG Dead
Heroes of the Storm
Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Community Thread
Community
General
Trading/Investing Thread US Politics Mega-thread UK Politics Mega-thread Things Aren’t Peaceful in Palestine Russo-Ukrainian War Thread
Fan Clubs
MarineLorD Fan Club The Creator Fan Club The ShoWTimE Fan Club
Media & Entertainment
Diablo Animated Series on Netflix Movie Discussion!
Sports
Football (Soccer) Thread TeamLiquid Health and Fitness Initiative For 2023 MLB/Baseball 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List Northern Ireland Global Starcraft
Blogs
Virtual Romance, Real-Life C…
TrAiDoS
Regacy Esports:Our Goa…
regacyesports
Dreaming of BW patches (mod…
c3rberUs
LOCKPICKING NOOB
LUCKY_NOOB
Customize Sidebar...

Website Feedback

Closed Threads



Active: 7049 users

The Big Programming Thread - Page 540

Forum Index > General Forum
Post a Reply
Prev 1 538 539 540 541 542 1032 Next
Thread Rules
1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution.
2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20)
3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible.
4. Use [code] tags to format code blocks.
ZenithM
Profile Joined February 2011
France15952 Posts
Last Edited: 2014-10-30 00:03:02
October 29 2014 23:47 GMT
#10781
On October 30 2014 01:48 Morfildur wrote:
Show nested quote +
On October 30 2014 01:14 LaNague wrote:
you are free to write in assembler if you dont like prose.


But most workplaces will use other languages where you can be more productive with.


The reason why languages won't become much closer to prose is because spoken language has a huge amount of ambiguities, which simply don't work in programming languages. A programming language has to be precise, so while you can change "{" to "begin" or indent several lines, it's still simply a different syntax for a very precise concept. If you just want words instead of symbols, there are C preprocessor macros that can do it for you.

#define begin {
#define end }
#define is =
#define is_not !=
...


I'd say that functional languages are the closest to spoken language because they work directly with concepts instead of abstraction, e.g. "let x be y and do z with it", even though they have a lot more "syntax" than e.g. python. However, even they are bound by the precision required to turn it into something the computer can work with.

While computers can "understand" spoken language, i.e. prose, it's not usable for the actual programming.

No, that's the reason programming languages aren't currently closer to prose. As natural language understanding becomes better, there will be a time when it's worth it to just talk to your computer about what you want your program to do, and it will be called "coding".
Otherwise you're right, functional languages are the closest to prose, albeit an overly formal one ;D

On October 30 2014 03:07 Blisse wrote:
Show nested quote +
On October 29 2014 22:02 Morfildur wrote:
On October 29 2014 10:11 Blisse wrote:
Do you think the future of coding will be 5K to 8K monitors? :3



Programming probably benefits a lot more from additional monitors compared to bigger or higher resolution monitors. The physical separation really helps a lot, e.g. when making changes and watching them on the second monitor or when having the documentation *cough*or stackoverflow*cough* on one screen and the code you are writing on the other.

I'd say that any programmer working with just one monitor, whether it's 1k, 2k, 4k, 8k or 128k is hurting his own productivity (and enjoyment).


I just don't understand why you guys think that using 4K means you'll see less. Using the shitty 4K 39" Seiko or good 32" Dell, 4K is still 4x more space than 1 1080p screen, so even with 3 1080p screens you're still only approaching one 4K screen. You can have more than one browser or code editor open at the same time on one 4K screen so I don't understand the argument against it.

There is no possible argument against more pixel density, assuming your OS has a good UI scaling framework and your computer still has the same power consumption and overall performances.
The thing is, there is no argument for either, in the case of reading text. Increasing pixel density helps us display smaller details. While it's all cool for a movie, pictures and video games, it's completely useless for fonts. Higher pixel density simply means that you can fit more text in a square inch of your screen. But past a point, a font needs to be of a certain minimal physical size to be readable. We just want to fit on our screen the maximum amount of characters we can read comfortably with our naked eye. And we're already there.

Edit: And by the way, there will come a point (we're probably not far at all) where we can't distinguish with our naked eye a certain pixel density from a higher pixel density. This is true for movies or pictures or whatever you display on your screen. Currently you can certainly distinguish text displayed on a 720p screen from one displayed on a 1080p screen, but you don't really read them any easier/harder.

Edit2: I understand that it may seem like I'm making a confusion between pixel density ("300 ppi") and resolution ("4K"). I'm not :D. Advertising and marketing are making this confusion for consumers though. Today when we talk about how "4K" and how amazing it looks, we're really talking about monitors with the same size as before but with more pixels, hence a higher pixel density. We're not talking about screens that are 4 times larger because it doesn't make any sense and it's not that interesting. Do I have any use for a 45 inch desktop monitor? Hmm probably not. But sure, if you like theater screens to code, you damn sure need your 4K, go ahead.
Cynry
Profile Blog Joined August 2010
810 Posts
October 31 2014 09:35 GMT
#10782
Hey guys !
Yet another segfaulting function that I can't seem to figure out...
#include <stdlib.h>
#include <string.h>

char *ft_strjoin(char const *s1, char const *s2)
{
char *result;
unsigned int length;
unsigned int isrc;
unsigned int ires;

isrc = 0;
ires = 0;
length = ft_strlen(s1) + ft_strlen(s2) + 1;
result = NULL;
result = (char *)malloc(sizeof(result) * length);
while (s1)
{
result[ires] = s1[isrc];
ires++;
isrc++;
}
isrc = 0;
while (s2)
{
result[ires] = s2[isrc];
ires++;
isrc++;
}
result[ires] = '\0';
return (result);
}

int main(void)
{
const char s1[] = "hey ";
const char s2[] = "'sup ?";
char *result;

result = (char *)malloc(sizeof(result) * 11);
result = ft_strjoin(s1, s2);
ft_putstr((char const *)result);
}


Guess it's obvious, but strjoin is supposed to join 2 string together into a third one that I malloc and return. I suspect there's much better way to do it but that's what I came up with. And well, it doesn't work.
Halp ?
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
Last Edited: 2014-10-31 10:04:49
October 31 2014 09:51 GMT
#10783
If you can code on a 14" 1080p laptop screen, then you can code just as perfectly well on a 28" 4K monitor. I don't know about you guys, but I'm not blind... you're acting like 4K at 27-32" screens makes your text minuscule. It doesn't.

@cynry,

1. in main, you allocated an array using malloc and then replaced it with a pointer. what's up with that?
2. your while loop ends when s1/s2 hits a \0. but you never actually increment s1/s2. you probably want

while (s1)
{
result[ires] = *s1;
ires++;
s1++;
}



edit: shoot, is sizeof(char) in c/c++ not sizeof(char*)? err, that as well then
There is no one like you in the universe.
Cynry
Profile Blog Joined August 2010
810 Posts
Last Edited: 2014-10-31 10:07:03
October 31 2014 10:00 GMT
#10784
On October 31 2014 18:51 Blisse wrote:
If you can code on a 14" 1080p laptop screen, then you can code just as perfectly well on a 28" 4K monitor. I don't know about you guys, but I'm not blind... you're acting like 4K at 27-32" screens makes your text minuscule. It doesn't.

@cynry,

1. in main, you allocated an array using malloc and then replaced it with a pointer. what's up with that?
2. your while loop ends when s1/s2 hits a \0. but you never actually increment s1/s2. you probably want

while (s1)
{
result[ires] = *s1;
ires++;
s1++;
}


1. Forgot to remove it, thought I might as well try to malloc the result in case it was what caused the error.
2. Very. Good. Point. ><


Edit : Tried your solution and still segfault.
So I did that :

while (s2[isrc])
{
result[ires] = s2[isrc];
ires++;
isrc++;
}

And it works.
Still wondering why your solution didn't. From the little I know about pointers it shouuuuuld ?
bangsholt
Profile Joined June 2011
Denmark138 Posts
October 31 2014 10:01 GMT
#10785
You should only malloc once - otherwise you leak those bytes.

Also, consider the diffence between sizeof(result) and sizeof(char).

But you should check your while loops, that's where the issue starts - a small hint - when do they terminate?
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
October 31 2014 10:08 GMT
#10786
On October 31 2014 19:00 Cynry wrote:
And it works.
Still wondering why your solution didn't. From the little I know about pointers it shouuuuuld ?


it should be a while(*s1) not while(s1)

check your mallocs as well though, you're over-malloc-ing.
There is no one like you in the universe.
Cynry
Profile Blog Joined August 2010
810 Posts
Last Edited: 2014-10-31 10:20:24
October 31 2014 10:12 GMT
#10787
On October 31 2014 19:01 bangsholt wrote:
Also, consider the diffence between sizeof(result) and sizeof(char).

Oh I wanted to ask about that. Not the fact that I did a sizeof a pointer instead of a sizeof a char (now corrected), but about the differences between
sizeof(*result)
and
sizeof(char)

If I understood correctly, it's the exact same for the computer, both point to a char and should return 1. But I heard some people say the first one is better for portability. Can't pretend to understand exactly why, so I'd like to hear some thoughts about it.

Edit : Ok, it works with while(*s1). Much cleaner looking, thanks !
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
October 31 2014 10:20 GMT
#10788
I don't see a call to free, isn't that missing as well? Sure, the program terminates right after so it doesn't really matter, but that's not a good reason to not free your resources.
If you have a good reason to disagree with the above, please tell me. Thank you.
Cynry
Profile Blog Joined August 2010
810 Posts
Last Edited: 2014-10-31 10:32:52
October 31 2014 10:24 GMT
#10789
On October 31 2014 19:20 spinesheath wrote:
I don't see a call to free, isn't that missing as well? Sure, the program terminates right after so it doesn't really matter, but that's not a good reason to not free your resources.

Would freeing right before the return of ft_strjoin work ?
I'm not too familiar with memory stuff yet, free "unlock" the memory but the data is still there, right ? So as long as nothing writes over it, I can still point to it and have the same result ?

Edit : This is where I'm at. Now with free, malloc check (I think ?) and an ending \n !
#include <stdlib.h>
#include <string.h>

char *ft_strjoin(char const *s1, char const *s2)
{
char *result;
unsigned int length;
unsigned int i;

i = 0;
length = ft_strlen(s1) + ft_strlen(s2) + 1;
result = (char *)malloc(sizeof(*result) * length);
if (!result)
return (NULL);
while (*s1)
{
result[i] = *s1;
i++;
s1++;
}
while (*s2)
{
result[i] = *s2;
i++;
s2++;
}
result[i] = '\0';
return (result);
}

int main(void)
{
char const s1[] = "heeeeeeey";
char const s2[] = " sexy lady !\n";
char const *result;

result = ft_strjoin(s1, s2);
ft_putstr((char const *)result);
free((char *)result);
}
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
Last Edited: 2014-10-31 10:52:55
October 31 2014 10:25 GMT
#10790
It's better for portability but you don't really have to worry about it for the most part.

Using malloc(sizeof(*result)) is a lot more friendly to changes in code.

If you change the type of result (from char* result to int* result), you aren't forced to go find and change the now broken malloc(sizeof(char)) code to malloc(sizeof(char*)). sizeof(*result) handles that for you.

sizeof(*result) is also easier to type if you don't want to think about the malloc.

however, because it seems like you're writing a library of string formatting functions, you could totally make the case that you should use sizeof(char) here instead.


edit:
you need* to free the malloc at some point in your program before it ends. don't free it before you actually use it though, then you get unexpected results. the compiler decides whether it will zero/obfuscate free'd memory or leave it untouched, so it's a coinflip.

* you don't really need to do it but it's a good practice.

we talked about this in a previous page but it might be a good idea to prefix the pointer name if it's a malloc'd pointer. this makes sure it's clear that you malloc'd it, and that you need to free it at some point.

finally, it's a bad practice to use malloc in a different scope than where you would free it. this is because you can't tell the difference between a char* pointing to malloc'd memory or stack memory. we can circumvent this with good naming conventions but it's still a big problem. that's a reason why sometimes you'll see "void join(char* s1, char* s2, char* output)" rather than what you have. can't help it in assignments but good to think about.

edit final:
i'm not sure if you have the const correctness totally right (but i have no clue)

http://www.possibility.com/Cpp/const.html

nevermind this is C not C++
http://en.wikipedia.org/wiki/Const-correctness
There is no one like you in the universe.
bangsholt
Profile Joined June 2011
Denmark138 Posts
October 31 2014 10:29 GMT
#10791
On October 31 2014 19:12 Cynry wrote:
Show nested quote +
On October 31 2014 19:01 bangsholt wrote:
Also, consider the diffence between sizeof(result) and sizeof(char).

Oh I wanted to ask about that. Not the fact that I did a sizeof a pointer instead of a sizeof a char (now corrected), but about the differences between
sizeof(*result)
and
sizeof(char)

If I understood correctly, it's the exact same for the computer, both point to a char and should return 1. But I heard some people say the first one is better for portability. Can't pretend to understand exactly why, so I'd like to hear some thoughts about it.


Have you tried to make a simple main that runs sizeof(char*) and sizeof(char) and looked at the result?

A pointer on a "newer" machine would usually be 4 or 8 bytes, when it's desktop.

A char is usually 1 byte.

So, no, both are not 1 byte.

On October 31 2014 19:24 Cynry wrote:
Show nested quote +
On October 31 2014 19:20 spinesheath wrote:
I don't see a call to free, isn't that missing as well? Sure, the program terminates right after so it doesn't really matter, but that's not a good reason to not free your resources.

Would freeing right before the return of ft_strjoin work ?
I'm not too familiar with memory stuff yet, free "unlock" the memory but the data is still there, right ? So as long as nothing writes over it, I can still point to it and have the same result ?


"So as long as nothing writes over it", yes.

But by free'ing you're allowing that memory to be used again - so it can be overwritten.

The solution is easy - don't free until you're done with what you've malloc'ed.
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
October 31 2014 10:34 GMT
#10792
@bang, he has sizeof(*result) so he's dereferencing the pointer already
There is no one like you in the universe.
Cynry
Profile Blog Joined August 2010
810 Posts
October 31 2014 10:37 GMT
#10793
Changed a bunch of stuff that I edited in my previous post.

int             main(void)
{
char *wtv;

ft_putnbr(sizeof(char));
ft_putnbr(sizeof(char*));
ft_putnbr(sizeof(*wtv));
ft_putnbr(sizeof(wtv));
}

This returns 1, 4, 1, 4. So you're right about char and char* being different but it's not really what we talked about.
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
October 31 2014 10:42 GMT
#10794
Poll: What do you do? (and why)

return result; (9)
 
90%

return(result); (1)
 
10%

10 total votes

Your vote: What do you do? (and why)

(Vote): return result;
(Vote): return(result);


There is no one like you in the universe.
Cynry
Profile Blog Joined August 2010
810 Posts
Last Edited: 2014-10-31 10:59:38
October 31 2014 10:51 GMT
#10795
On October 31 2014 19:25 Blisse wrote:finally, it's a bad practice to use malloc in a different scope than where you would free it. this is because you can't tell the difference between a char* pointing to malloc'd memory or stack memory. we can circumvent this with good naming conventions but it's still a big problem. that's a reason why sometimes you'll see "void join(char* s1, char* s2, char* output)" rather than what you have. can't help it in assignments but good to think about.

So, because free is coin-flippy (so no free before the return of strjoin) and what I quoted, there's no clean way to free what I malloc-ed in this case ?
Especially considering that I musn't include the main when I return the assignment...

Edit : return (result) for me, and I don't know why :D
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
October 31 2014 11:34 GMT
#10796
The only time I ever have parentheses around my return value is when I had a complex statement as a return value that requires parentheses at some time, modified that statement and forgot to remove the now pointless parentheses.
Return is not a function and I doubt it's a good idea to make it look like one.
If you have a good reason to disagree with the above, please tell me. Thank you.
Cynry
Profile Blog Joined August 2010
810 Posts
Last Edited: 2014-10-31 13:33:03
October 31 2014 13:29 GMT
#10797
Referencing Manitou's post in the funny pictures thread :
The two states of beginners in C
"I am a God" || "segfault"
....

Soooo here's another one. Don't worry, once I'm actually in school (I'm just getting ahead in work right now, school year still hasen't started) I'll have plenty of students to bother with my questions.

strtim, removes ' ', '\n', '\t' at the start and the end of a string and returns a copy of the result. But that doesn't matter, the error seems to come from my strlen or something around it. Way before the actual algorythm anyway, which should have plenty of other surprises...

#include <stdlib.h>
#include <string.h>

char *ft_strtrim(char const *s)
{
unsigned int isrc;
unsigned int ires;
unsigned int len;
char *res;

isrc = 0;
ires = 0;
len = ft_strlen(s);
/** while (s[isrc] == ' ' || s[isrc] == '\n' || s[isrc] == '\t')
isrc++;
while (s[len] == ' ' || s[len] == '\n' || s[len] == '\t')
len--;
res = (char *)malloc(sizeof(*res) * (ft_strlen(s) - (isrc + len) + 1));
while (isrc <= len)
{
res[ires] = s[isrc];
isrc++;
ires++;
}
res[ires] = '\0';
return (res);
**/
}

int main(void)
{
char const test1[] = " ha ha ha ";
char const test2[] = "ho ho ho . \n ";
char const test3[] = "nothing here";
char const test4[] = "\t what is \t I don't even know...";
char *result;

result = ft_strtrim(test1);
ft_putstr(result);
ft_putchar('\n');
/** result = ft_strtrim(test2);
ft_putstr((char const *)result);
ft_putchar('\n');
result = ft_strtrim(test3);
ft_putstr((char const *)result);
ft_putchar('\n');
result = ft_strtrim(test4);
ft_putstr((char const *)result);
ft_putchar('\n');
**/


My strlen :
#include <string.h>

size_t ft_strlen(char const *s)
{
size_t length;

length = 0;
if (!s)
return (0);
while (s[length])
length++;
return (length);
}


Behaviour :
If I remove either call to strlen from strtrim or its main, it works. Both, and segfault.
If I comment the while loop of strlen, it works with both call to it.
If I comment the call to ft_putstr from the main, it works with both call to strlen. putstr also has a call to strlen, but I can't really comment it.
Sooo... Waddafuck ?

Edit : just in case, I now know what is \t, so disregard that.
Nesserev
Profile Blog Joined January 2011
Belgium2760 Posts
Last Edited: 2014-10-31 14:38:22
October 31 2014 14:32 GMT
#10798
--- Nuked ---
Alzadar
Profile Blog Joined April 2010
Canada5009 Posts
October 31 2014 14:47 GMT
#10799
Your strlen can't deal with an empty string.
I am the Town Medic.
Cynry
Profile Blog Joined August 2010
810 Posts
Last Edited: 2014-10-31 15:11:42
October 31 2014 15:05 GMT
#10800
On October 31 2014 23:47 Alzadar wrote:
Your strlen can't deal with an empty string.

        if (!s)
return (0);

Thought that would do the trick, is that wrong ?

Are you sure that the problem isn't the fact that you're not returning anything in ft_strtrim?

EDIT: Instead of giving this thread one doghunt with snippets of code and stuff every day, this is the ideal time to learn how to use a debugger... when you're still making a lot of mistakes

EDIT2: Question to the C wizards in this thread. If nothing is returned in a non-void function (like in this case), no compiler warnings seems to be given. Why? And what does it return, null?

There is actually a warning for that, but I think it doesn't display by default with gcc. Some flag makes it treated as an error.

Indeed, un-commenting the return of strtrim makes it better. Thing is, with the whole program I got segfault, and I assumed it was the same error I got when commenting most of the code. Silly me :D

Now, debugger, that sounds great ! Didn't even knew it existed...
Prev 1 538 539 540 541 542 1032 Next
Please log in or register to reply.
Live Events Refresh
OSC
20:30
Masters Cup #151
davetesta30
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Tasteless 483
RuFF_SC2 249
ViBE101
StarCraft: Brood War
Artosis 596
Aegong 45
Dota 2
monkeys_forever524
NeuroSwarm128
LuMiX1
Counter-Strike
fl0m6480
minikerr42
Heroes of the Storm
Liquid`Hasu312
Other Games
summit1g12201
B2W.Neo1086
JimRising 565
PiGStarcraft232
XaKoH 209
Organizations
Heroes of the Storm
Heroes of the Storm1228
StarCraft 2
StarCraft1056
StarCraft: Brood War
Afreeca ASL 971
Other Games
BasetradeTV254
[ Show 10 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• Migwel
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• masondota21984
League of Legends
• Lourlo898
Upcoming Events
Sparkling Tuna Cup
6h 55m
WardiTV Invitational
7h 55m
ByuN vs Percival
Cure vs Classic
Shopify Rebellion Sundays
11h 55m
Spirit vs Mixu
Clem vs TBD
RSL Revival
12h 55m
Serral vs Rogue
BlizzCon
15h 25m
IdrA vs MC
Replay Cast
20h 55m
Afreeca Starleague
1d 6h
Light vs JyJ
Soulkey vs hero
WardiTV Weekly
1d 7h
Monday Night Weeklies
1d 12h
Afreeca Starleague
2 days
Snow vs Shinee
Shine vs EffOrt
[ Show More ]
GSL
2 days
PiGosaur Cup
2 days
The PondCast
3 days
Kung Fu Cup
3 days
Replay Cast
3 days
KCM Race Survival
4 days
IntoTheTV X SOOP
4 days
Replay Cast
4 days
IntoTheTV X SOOP
5 days
Replay Cast
5 days
GSL
6 days
Replay Cast
6 days
Liquipedia Results

Completed

Acropolis #5 - TRS
PiG Sty Festival 8.0
Big Dog Cup 2026 Div 1

Ongoing

KCM Race Survival 2026 Season 3
K-JUNGMAN
ASL Season 22
Super Anchor Qualifying S3
CSL 2026 AUTUMN (S22)
Acropolis #5
Blizzard Classic Cup 2026
Blizzard Classic Cup 2026
RSL Revival: Season 6
Calamity Invitational
FISSURE Playground #3
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 2026

Upcoming

Acropolis #5 - GSA
Acropolis #5 - GSB
Acropolis #5 - GSC
SC4ALL II: Brood War
HSC XXX
Stellar Fest 2: Lunar Cup
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Offline Finals
PGL Major Singapore 2026
Stake Ranked Episode 6
BLAST Rivals Fall 2026
IEM Beijing 2026
Stake Ranked Episode 5
PGL Masters Bucharest 2026
1win Private Club #2
Thunderpick World Champ. '26
ESL Pro League Season 24
Stake Ranked Episode 4
1win Private Club #1
Logitech G Play Connect 2026
SL StarSeries Fall 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.