Of course, glibc does not have strlcpy
This commit is contained in:
		@@ -1080,22 +1080,23 @@ int main (int argc, char **argv)
 | 
				
			|||||||
	/* eprefix is kinda klunky, but it works for our purposes */
 | 
						/* eprefix is kinda klunky, but it works for our purposes */
 | 
				
			||||||
	if (rc_is_env ("RC_PREFIX", "yes")) {
 | 
						if (rc_is_env ("RC_PREFIX", "yes")) {
 | 
				
			||||||
		int l = 0;
 | 
							int l = 0;
 | 
				
			||||||
 | 
							int ll;
 | 
				
			||||||
		char *svc;
 | 
							char *svc;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		/* Get the longest service name */
 | 
							/* Get the longest service name */
 | 
				
			||||||
		services = rc_services_in_runlevel (NULL);
 | 
							services = rc_services_in_runlevel (NULL);
 | 
				
			||||||
		STRLIST_FOREACH (services, svc, i) {
 | 
							STRLIST_FOREACH (services, svc, i) {
 | 
				
			||||||
			int ll = strlen (svc);
 | 
								ll = strlen (svc);
 | 
				
			||||||
			if (ll > l)
 | 
								if (ll > l)
 | 
				
			||||||
				l = ll;
 | 
									l = ll;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		// rc_strlist_free (services);
 | 
						
 | 
				
			||||||
		
 | 
							/* Make our prefix string */
 | 
				
			||||||
		svc = prefix = rc_xmalloc (sizeof (char *) * l);
 | 
							prefix = rc_xmalloc (sizeof (char *) * l);
 | 
				
			||||||
		svc += strlcpy (prefix, applet, l);
 | 
							ll = strlen (applet);
 | 
				
			||||||
		i = l - strlen (prefix);
 | 
							memcpy (prefix, applet, ll);
 | 
				
			||||||
		memset (svc, ' ', i);
 | 
							memset (prefix + ll, ' ', l - ll);
 | 
				
			||||||
		memset (svc + i, 0, 1);
 | 
							memset (prefix + l, 0, 1);
 | 
				
			||||||
		eprefix (prefix);
 | 
							eprefix (prefix);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user